mirror of
https://github.com/postgres/postgres.git
synced 2025-06-09 00:01:41 -04:00
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
|
Additional mailing lists and information about PostgreSQL can be found
|
||||||
via the PostgreSQL WWW home page at:
|
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
|
There is also an IRC channel on EFNet, channel #PostgreSQL. I use the
|
||||||
unix command irc -c '#PostgreSQL' "$USER" irc.phoenix.net.
|
unix command irc -c '#PostgreSQL' "$USER" irc.phoenix.net.
|
||||||
@ -453,6 +453,7 @@
|
|||||||
|
|
||||||
3.1) Why does initdb fail?
|
3.1) Why does initdb fail?
|
||||||
|
|
||||||
|
Try these:
|
||||||
* check that you don't have any of the previous version's binaries
|
* check that you don't have any of the previous version's binaries
|
||||||
in your path
|
in your path
|
||||||
* check to see that you have the proper paths set
|
* check to see that you have the proper paths set
|
||||||
@ -469,7 +470,7 @@
|
|||||||
message. Why?
|
message. Why?
|
||||||
|
|
||||||
It could be a variety of problems, but first check to see that you
|
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.
|
kernel support for shared memory and semaphores.
|
||||||
|
|
||||||
3.4) When I try to start the postmaster, I get IpcMemoryCreate errors. Why?
|
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
|
You need to increase the postmaster's limit on how many concurrent
|
||||||
backend processes it can start.
|
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.
|
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
|
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
|
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
|
number of semaphores, SEMMNS and SEMMNI, the maximum number of
|
||||||
processes, NPROC, the maximum number of processes per user, MAXUPRC,
|
processes, NPROC, the maximum number of processes per user, MAXUPRC,
|
||||||
and the maximum number of open files, NFILE and NINODE. The reason
|
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.
|
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
|
In PostgreSQL versions prior to 6.5, the maximum number of backends
|
||||||
64, and changing it required a rebuild after altering the MaxBackendId
|
was 64, and changing it required a rebuild after altering the
|
||||||
constant in include/storage/sinvaladt.h.
|
MaxBackendId constant in include/storage/sinvaladt.h.
|
||||||
|
|
||||||
3.13) What are the pg_tempNNN.NN files in my database directory?
|
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
|
4.7)How much database disk space is required to store data from a typical
|
||||||
flat file?
|
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.
|
space required to store the data in a flat file.
|
||||||
|
|
||||||
Consider a file of 300,000 lines with two integers on each line. The
|
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?
|
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
|
handle range searches. A B-tree index only handles range searches in a
|
||||||
single dimension. R-tree's can handle multi-dimensional data. For
|
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
|
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?
|
4.16.1) How do I create a serial/auto-incrementing field?
|
||||||
|
|
||||||
PostgreSQL supports SERIAL data type. It auto-creates a sequence and
|
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 (
|
CREATE TABLE person (
|
||||||
id SERIAL,
|
id SERIAL,
|
||||||
name TEXT
|
name TEXT
|
||||||
);
|
);
|
||||||
|
|
||||||
...is automatically translated into this...
|
is automatically translated into this:
|
||||||
CREATE SEQUENCE person_id_seq;
|
CREATE SEQUENCE person_id_seq;
|
||||||
CREATE TABLE person (
|
CREATE TABLE person (
|
||||||
id INT4 NOT NULL DEFAULT nextval('person_id_seq'),
|
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
|
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.
|
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?
|
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:
|
via the PostgreSQL WWW home page at:
|
||||||
|
|
||||||
<BLOCKQUOTE>
|
<BLOCKQUOTE>
|
||||||
<A HREF="http://postgreSQL.org">http://postgreSQL.org</A>
|
<A HREF="http://www.postgreSQL.org">http://www.postgreSQL.org</A>
|
||||||
</BLOCKQUOTE><P>
|
</BLOCKQUOTE><P>
|
||||||
|
|
||||||
There is also an IRC channel on EFNet, channel #PostgreSQL.
|
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>
|
<H4><A NAME="3.1">3.1</A>) Why does initdb fail?</H4><P>
|
||||||
|
|
||||||
|
Try these:
|
||||||
<UL>
|
<UL>
|
||||||
<LI> check that you don't have any of the previous version's binaries in
|
<LI> check that you don't have any of the previous version's binaries in
|
||||||
your path
|
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>
|
System Call</I> or core dumped message. Why?</H4><P>
|
||||||
|
|
||||||
It could be a variety of problems, but first check to see that you
|
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>
|
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
|
You need to increase the postmaster's limit on how many concurrent backend
|
||||||
processes it can start.<P>
|
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>
|
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
|
value. With the default configuration you can set <I>-N</I> as large as
|
||||||
1024; if you need more, increase <SMALL>MAXBACKENDS</SMALL> in
|
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
|
<SMALL>SEMMNS</SMALL> and <SMALL>SEMMNI,</SMALL> the maximum number of
|
||||||
processes, <SMALL>NPROC,</SMALL> the maximum number of processes per
|
processes, <SMALL>NPROC,</SMALL> the maximum number of processes per
|
||||||
user, <SMALL>MAXUPRC,</SMALL> and the maximum number of open files,
|
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
|
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>
|
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
|
64, and changing it required a rebuild after altering the MaxBackendId
|
||||||
constant in <I>include/storage/sinvaladt.h.</I><P>
|
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
|
<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>
|
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>
|
required to store the data in a flat file.<P>
|
||||||
|
|
||||||
Consider a file of 300,000 lines with two integers on each line. The
|
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>
|
<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
|
handle range searches. A B-tree index only handles range searches in a
|
||||||
single dimension. R-tree's can handle multi-dimensional data. For
|
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>
|
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>
|
serial/auto-incrementing field?</H4><P>
|
||||||
|
|
||||||
PostgreSQL supports <SMALL>SERIAL</SMALL> data type. It auto-creates a
|
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>
|
<PRE>
|
||||||
CREATE TABLE person (
|
CREATE TABLE person (
|
||||||
id SERIAL,
|
id SERIAL,
|
||||||
name TEXT
|
name TEXT
|
||||||
);
|
);
|
||||||
</PRE>
|
</PRE>
|
||||||
...is automatically translated into this...
|
is automatically translated into this:
|
||||||
<PRE>
|
<PRE>
|
||||||
CREATE SEQUENCE person_id_seq;
|
CREATE SEQUENCE person_id_seq;
|
||||||
CREATE TABLE person (
|
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>
|
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>
|
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>
|
<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>
|
<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…
x
Reference in New Issue
Block a user