|
|
|
@ -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> |
|
|
|
|