mirror of https://github.com/postgres/postgres
Update FAQ.
This commit is contained in:
parent
d811461bb9
commit
709392b8e3
25
doc/FAQ
25
doc/FAQ
|
@ -252,7 +252,7 @@
|
|||
Additional mailing lists and information about PostgreSQL can be found
|
||||
via the PostgreSQL WWW home page at:
|
||||
|
||||
http://postgreSQL.org
|
||||
http://www.postgreSQL.org
|
||||
|
||||
There is also an IRC channel on EFNet, channel #PostgreSQL. I use the
|
||||
unix command irc -c '#PostgreSQL' "$USER" irc.phoenix.net.
|
||||
|
@ -453,6 +453,7 @@
|
|||
|
||||
3.1) Why does initdb fail?
|
||||
|
||||
Try these:
|
||||
* check that you don't have any of the previous version's binaries
|
||||
in your path
|
||||
* check to see that you have the proper paths set
|
||||
|
@ -469,7 +470,7 @@
|
|||
message. Why?
|
||||
|
||||
It could be a variety of problems, but first check to see that you
|
||||
have system V extensions installed in your kernel. PostgreSQL requires
|
||||
have System V extensions installed in your kernel. PostgreSQL requires
|
||||
kernel support for shared memory and semaphores.
|
||||
|
||||
3.4) When I try to start the postmaster, I get IpcMemoryCreate errors. Why?
|
||||
|
@ -606,7 +607,7 @@
|
|||
You need to increase the postmaster's limit on how many concurrent
|
||||
backend processes it can start.
|
||||
|
||||
In Postgres 6.5 and up, the default limit is 32 processes. You can
|
||||
In PostgreSQL 6.5 and up, the default limit is 32 processes. You can
|
||||
increase it by restarting the postmaster with a suitable -N value.
|
||||
With the default configuration you can set -N as large as 1024; if you
|
||||
need more, increase MAXBACKENDS in include/config.h and rebuild. You
|
||||
|
@ -622,12 +623,12 @@
|
|||
number of semaphores, SEMMNS and SEMMNI, the maximum number of
|
||||
processes, NPROC, the maximum number of processes per user, MAXUPRC,
|
||||
and the maximum number of open files, NFILE and NINODE. The reason
|
||||
that Postgres has a limit on the number of allowed backend processes
|
||||
that PostgreSQL has a limit on the number of allowed backend processes
|
||||
is so that you can ensure that your system won't run out of resources.
|
||||
|
||||
In Postgres versions prior to 6.5, the maximum number of backends was
|
||||
64, and changing it required a rebuild after altering the MaxBackendId
|
||||
constant in include/storage/sinvaladt.h.
|
||||
In PostgreSQL versions prior to 6.5, the maximum number of backends
|
||||
was 64, and changing it required a rebuild after altering the
|
||||
MaxBackendId constant in include/storage/sinvaladt.h.
|
||||
|
||||
3.13) What are the pg_tempNNN.NN files in my database directory?
|
||||
|
||||
|
@ -704,7 +705,7 @@ Maximum number of indexes on a table? unlimited
|
|||
4.7)How much database disk space is required to store data from a typical
|
||||
flat file?
|
||||
|
||||
A Postgres database can require about six and a half times the disk
|
||||
A PostgreSQL database can require about six and a half times the disk
|
||||
space required to store the data in a flat file.
|
||||
|
||||
Consider a file of 300,000 lines with two integers on each line. The
|
||||
|
@ -772,7 +773,7 @@ Maximum number of indexes on a table? unlimited
|
|||
|
||||
4.11) What is an R-tree index?
|
||||
|
||||
An r-tree index is used for indexing spatial data. A hash index can't
|
||||
An R-tree index is used for indexing spatial data. A hash index can't
|
||||
handle range searches. A B-tree index only handles range searches in a
|
||||
single dimension. R-tree's can handle multi-dimensional data. For
|
||||
example, if an R-tree index can be built on an attribute of type
|
||||
|
@ -839,13 +840,13 @@ BYTEA bytea variable-length array of bytes
|
|||
4.16.1) How do I create a serial/auto-incrementing field?
|
||||
|
||||
PostgreSQL supports SERIAL data type. It auto-creates a sequence and
|
||||
index on the column. For example, this...
|
||||
index on the column. For example, this:
|
||||
CREATE TABLE person (
|
||||
id SERIAL,
|
||||
name TEXT
|
||||
);
|
||||
|
||||
...is automatically translated into this...
|
||||
is automatically translated into this:
|
||||
CREATE SEQUENCE person_id_seq;
|
||||
CREATE TABLE person (
|
||||
id INT4 NOT NULL DEFAULT nextval('person_id_seq'),
|
||||
|
@ -858,7 +859,7 @@ BYTEA bytea variable-length array of bytes
|
|||
However, if you need to dump and reload the database, you need to use
|
||||
pg_dump's -o option or COPY WITH OIDS option to preserve the oids.
|
||||
|
||||
For more details, see Bruce Momjian's chapter on Numbering Rows.
|
||||
Numbering Rows.
|
||||
|
||||
4.16.2) How do I get the back the generated SERIAL value after an insert?
|
||||
|
||||
|
|
|
@ -324,7 +324,7 @@ Additional mailing lists and information about PostgreSQL can be found
|
|||
via the PostgreSQL WWW home page at:
|
||||
|
||||
<BLOCKQUOTE>
|
||||
<A HREF="http://postgreSQL.org">http://postgreSQL.org</A>
|
||||
<A HREF="http://www.postgreSQL.org">http://www.postgreSQL.org</A>
|
||||
</BLOCKQUOTE><P>
|
||||
|
||||
There is also an IRC channel on EFNet, channel #PostgreSQL.
|
||||
|
@ -573,6 +573,7 @@ We have:
|
|||
|
||||
<H4><A NAME="3.1">3.1</A>) Why does initdb fail?</H4><P>
|
||||
|
||||
Try these:
|
||||
<UL>
|
||||
<LI> check that you don't have any of the previous version's binaries in
|
||||
your path
|
||||
|
@ -593,7 +594,7 @@ accordingly, or create a Makefile.custom and define POSTGRESDIR there.<P>
|
|||
System Call</I> or core dumped message. Why?</H4><P>
|
||||
|
||||
It could be a variety of problems, but first check to see that you
|
||||
have system V extensions installed in your kernel. PostgreSQL requires
|
||||
have System V extensions installed in your kernel. PostgreSQL requires
|
||||
kernel support for shared memory and semaphores.<P>
|
||||
|
||||
|
||||
|
@ -750,7 +751,7 @@ to connect. Why?</H4><P>
|
|||
You need to increase the postmaster's limit on how many concurrent backend
|
||||
processes it can start.<P>
|
||||
|
||||
In Postgres 6.5 and up, the default limit is 32 processes. You can
|
||||
In PostgreSQL 6.5 and up, the default limit is 32 processes. You can
|
||||
increase it by restarting the postmaster with a suitable <I>-N</I>
|
||||
value. With the default configuration you can set <I>-N</I> as large as
|
||||
1024; if you need more, increase <SMALL>MAXBACKENDS</SMALL> in
|
||||
|
@ -768,11 +769,11 @@ check include the maximum size of shared memory blocks,
|
|||
<SMALL>SEMMNS</SMALL> and <SMALL>SEMMNI,</SMALL> the maximum number of
|
||||
processes, <SMALL>NPROC,</SMALL> the maximum number of processes per
|
||||
user, <SMALL>MAXUPRC,</SMALL> and the maximum number of open files,
|
||||
<SMALL>NFILE</SMALL> and <SMALL>NINODE.</SMALL> The reason that Postgres
|
||||
<SMALL>NFILE</SMALL> and <SMALL>NINODE.</SMALL> The reason that PostgreSQL
|
||||
has a limit on the number of allowed backend processes is so that you
|
||||
can ensure that your system won't run out of resources.<P>
|
||||
|
||||
In Postgres versions prior to 6.5, the maximum number of backends was
|
||||
In PostgreSQL versions prior to 6.5, the maximum number of backends was
|
||||
64, and changing it required a rebuild after altering the MaxBackendId
|
||||
constant in <I>include/storage/sinvaladt.h.</I><P>
|
||||
|
||||
|
@ -872,7 +873,7 @@ Row length limit will be removed in 7.1.<P>
|
|||
<H4><A NAME="4.7">4.7</A>)How much database disk space is required to
|
||||
store data from a typical flat file?<BR></H4><P>
|
||||
|
||||
A Postgres database can require about six and a half times the disk space
|
||||
A PostgreSQL database can require about six and a half times the disk space
|
||||
required to store the data in a flat file.<P>
|
||||
|
||||
Consider a file of 300,000 lines with two integers on each line. The
|
||||
|
@ -948,7 +949,7 @@ See the <SMALL>EXPLAIN</SMALL> manual page.<P>
|
|||
|
||||
<H4><A NAME="4.11">4.11</A>) What is an R-tree index?</H4><P>
|
||||
|
||||
An r-tree index is used for indexing spatial data. A hash index can't
|
||||
An R-tree index is used for indexing spatial data. A hash index can't
|
||||
handle range searches. A B-tree index only handles range searches in a
|
||||
single dimension. R-tree's can handle multi-dimensional data. For
|
||||
example, if an R-tree index can be built on an attribute of type <I>point,</I>
|
||||
|
@ -1027,14 +1028,14 @@ first column of this type.<P>
|
|||
serial/auto-incrementing field?</H4><P>
|
||||
|
||||
PostgreSQL supports <SMALL>SERIAL</SMALL> data type. It auto-creates a
|
||||
sequence and index on the column. For example, this...
|
||||
sequence and index on the column. For example, this:
|
||||
<PRE>
|
||||
CREATE TABLE person (
|
||||
id SERIAL,
|
||||
name TEXT
|
||||
);
|
||||
</PRE>
|
||||
...is automatically translated into this...
|
||||
is automatically translated into this:
|
||||
<PRE>
|
||||
CREATE SEQUENCE person_id_seq;
|
||||
CREATE TABLE person (
|
||||
|
@ -1049,7 +1050,6 @@ You can also use each row's <I>oid</I> field as a unique value. However, if
|
|||
you need to dump and reload the database, you need to use <I>pg_dump's -o</I>
|
||||
option or <SMALL>COPY WITH OIDS</SMALL> option to preserve the oids.<P>
|
||||
|
||||
For more details, see Bruce Momjian's chapter on
|
||||
<A HREF="http://www.postgresql.org/docs/aw_pgsql_book">Numbering Rows.</A>
|
||||
|
||||
<H4><A NAME="4.16.2">4.16.2</A>) How do I get the back the generated SERIAL value after an insert?</H4><P>
|
||||
|
|
Loading…
Reference in New Issue