summaryrefslogtreecommitdiff
path: root/doc/src
diff options
context:
space:
mode:
authorBruce Momjian2000-06-01 01:34:02 +0000
committerBruce Momjian2000-06-01 01:34:02 +0000
commit726926a523906ab9d6a405a4239df090efd1d78c (patch)
tree6b0cd6268ae297055076fcd29dd182c875c97973 /doc/src
parent127f78502879b6d73db02d6e2294cb614b8eb1ad (diff)
Update pgcvslog
Diffstat (limited to 'doc/src')
-rw-r--r--doc/src/FAQ.html259
1 files changed, 123 insertions, 136 deletions
diff --git a/doc/src/FAQ.html b/doc/src/FAQ.html
index 4285490eeb3..a4f6a57d86b 100644
--- a/doc/src/FAQ.html
+++ b/doc/src/FAQ.html
@@ -28,109 +28,109 @@ HREF="http://www.PostgreSQL.org/docs/faq-hpux.shtml">http://www.PostgreSQL.org/d
<H2><CENTER>General Questions</CENTER></H2>
-<A HREF="#1.1">1.1</A>) What is PostgreSQL?<BR>
-<A HREF="#1.2">1.2</A>) What's the copyright on PostgreSQL?<BR>
-<A HREF="#1.3">1.3</A>) What Unix platforms does PostgreSQL run on?<BR>
+<A HREF="#1.1">1.1</A>) What is PostgreSQL?<BR>
+<A HREF="#1.2">1.2</A>) What's the copyright on PostgreSQL?<BR>
+<A HREF="#1.3">1.3</A>) What Unix platforms does PostgreSQL run on?<BR>
<A HREF="#1.4">1.4</A>) What non-unix ports are available?<BR>
-<A HREF="#1.5">1.5</A>) Where can I get PostgreSQL?<BR>
-<A HREF="#1.6">1.6</A>) Where can I get support for PostgreSQL?<BR>
-<A HREF="#1.7">1.7</A>) What is the latest release of PostgreSQL?<BR>
-<A HREF="#1.8">1.8</A>) What documentation is available for PostgreSQL?<BR>
-<A HREF="#1.9">1.9</A>) How do I find out about known bugs or missing features?<BR>
-<A HREF="#1.10">1.10</A>) How can I learn SQL?<BR>
-<A HREF="#1.11">1.11</A>) Is PostgreSQL Y2K compliant?<BR>
-<A HREF="#1.12">1.12</A>) How do I join the development team?<BR>
-<A HREF="#1.13">1.13</A>) How do I submit a bug report?<BR>
-<A HREF="#1.14">1.14</A>) How does PostgreSQL compare to other DBMS's?<BR>
+<A HREF="#1.5">1.5</A>) Where can I get PostgreSQL?<BR>
+<A HREF="#1.6">1.6</A>) Where can I get support for PostgreSQL?<BR>
+<A HREF="#1.7">1.7</A>) What is the latest release of PostgreSQL?<BR>
+<A HREF="#1.8">1.8</A>) What documentation is available for PostgreSQL?<BR>
+<A HREF="#1.9">1.9</A>) How do I find out about known bugs or missing features?<BR>
+<A HREF="#1.10">1.10</A>) How can I learn SQL?<BR>
+<A HREF="#1.11">1.11</A>) Is PostgreSQL Y2K compliant?<BR>
+<A HREF="#1.12">1.12</A>) How do I join the development team?<BR>
+<A HREF="#1.13">1.13</A>) How do I submit a bug report?<BR>
+<A HREF="#1.14">1.14</A>) How does PostgreSQL compare to other DBMS's?<BR>
+<A HREF="#1.15">1.15</A>) What are the maximum size limits?
<H2><CENTER>User Client Questions</CENTER></H2>
-<A HREF="#2.1">2.1</A>) Are there ODBC drivers for
+<A HREF="#2.1">2.1</A>) Are there ODBC drivers for
PostgreSQL?<BR>
-<A HREF="#2.2">2.2</A>) What tools are available for hooking
+<A HREF="#2.2">2.2</A>) What tools are available for hooking
PostgreSQL to Web pages?<BR>
-<A HREF="#2.3">2.3</A>) Does PostgreSQL have a graphical user interface?
+<A HREF="#2.3">2.3</A>) Does PostgreSQL have a graphical user interface?
A report generator? An embedded query language interface?<BR>
-<A HREF="#2.4">2.4</A>) What languages are available to communicate
+<A HREF="#2.4">2.4</A>) What languages are available to communicate
with PostgreSQL?<BR>
<H2><CENTER>Administrative Questions</CENTER></H2>
-<A HREF="#3.1">3.1</A>) Why does initdb fail?<BR>
-<A HREF="#3.2">3.2</A>) How do I install PostgreSQL somewhere other than
+<A HREF="#3.1">3.1</A>) Why does initdb fail?<BR>
+<A HREF="#3.2">3.2</A>) How do I install PostgreSQL somewhere other than
/usr/local/pgsql?<BR>
-<A HREF="#3.3">3.3</A>) When I start the postmaster, I get a
+<A HREF="#3.3">3.3</A>) When I start the postmaster, I get a
<I>Bad System Call</I> or core dumped message. Why?<BR>
-<A HREF="#3.4">3.4</A>) When I try to start the postmaster, I get
+<A HREF="#3.4">3.4</A>) When I try to start the postmaster, I get
<I>IpcMemoryCreate</I> errors3. Why?<BR>
<A HREF="#3.5">3.5</A>) When I try to start the postmaster, I get
<I>IpcSemaphoreCreate</I> errors. Why?<BR>
-<A HREF="#3.6">3.6</A>) How do I prevent other hosts from accessing my
+<A HREF="#3.6">3.6</A>) How do I prevent other hosts from accessing my
PostgreSQL database?<BR>
-<A HREF="#3.7">3.7</A>) Why can't I connect to my database from
+<A HREF="#3.7">3.7</A>) Why can't I connect to my database from
another machine?<BR>
-<A HREF="#3.8">3.8</A>) Why can't I access the database as the
+<A HREF="#3.8">3.8</A>) Why can't I access the database as the
<I>root</I> user?<BR>
-<A HREF="#3.9">3.9</A>) All my servers crash under concurrent
+<A HREF="#3.9">3.9</A>) All my servers crash under concurrent
table access. Why?<BR>
-<A HREF="#3.10">3.10</A>) How do I tune the database engine for
+<A HREF="#3.10">3.10</A>) How do I tune the database engine for
better performance?<BR>
-<A HREF="#3.11">3.11</A>) What debugging features are available in
+<A HREF="#3.11">3.11</A>) What debugging features are available in
PostgreSQL?<BR>
<A HREF="#3.12">3.12</A>) I get 'Sorry, too many clients' when trying to
connect. Why?<BR>
-<A HREF="#3.13">3.13</A>) What are the pg_psort.XXX files in my
+<A HREF="#3.13">3.13</A>) What are the pg_psort.XXX files in my
database directory?<BR>
-<A HREF="#3.14">3.14</A>) How do I set up a pg_group?<BR>
<H2><CENTER>Operational Questions</CENTER></H2>
-<A HREF="#4.1">4.1</A>) The system seems to be confused about commas,
+<A HREF="#4.1">4.1</A>) The system seems to be confused about commas,
decimal points, and date formats.<BR>
-<A HREF="#4.2">4.2</A>) What is the exact difference between
+<A HREF="#4.2">4.2</A>) What is the exact difference between
binary cursors and normal cursors?<BR>
-<A HREF="#4.3">4.3</A>) How do I <I>select</I> only the first few rows of
+<A HREF="#4.3">4.3</A>) How do I <I>select</I> only the first few rows of
a query?<BR>
-<A HREF="#4.4">4.4</A>) How do I get a list of tables, or other
+<A HREF="#4.4">4.4</A>) How do I get a list of tables, or other
things I can see in <I>psql?</I><BR>
-<A HREF="#4.5">4.5</A>) How do you remove a column from a table?<BR>
+<A HREF="#4.5">4.5</A>) How do you remove a column from a table?<BR>
-<A HREF="#4.6">4.6</A>) What is the maximum size for a
+<A HREF="#4.6">4.6</A>) What is the maximum size for a
row, table, database?<BR>
-<A HREF="#4.7">4.7</A>) How much database disk space is required
+<A HREF="#4.7">4.7</A>) How much database disk space is required
to store data from a typical flat file?<BR>
-<A HREF="#4.8">4.8</A>) How do I find out what indices or
+<A HREF="#4.8">4.8</A>) How do I find out what indices or
operations are defined in the database?<BR>
-<A HREF="#4.9">4.9</A>) My queries are slow or don't make use of the
+<A HREF="#4.9">4.9</A>) My queries are slow or don't make use of the
indexes. Why?<BR>
-<A HREF="#4.10">4.10</A>) How do I see how the query optimizer is
+<A HREF="#4.10">4.10</A>) How do I see how the query optimizer is
evaluating my query?<BR>
-<A HREF="#4.11">4.11</A>) What is an R-tree index?<BR>
-<A HREF="#4.12">4.12</A>) What is Genetic Query Optimization?<BR>
+<A HREF="#4.11">4.11</A>) What is an R-tree index?<BR>
+<A HREF="#4.12">4.12</A>) What is Genetic Query Optimization?<BR>
-<A HREF="#4.13">4.13</A>) How do I do regular expression searches
+<A HREF="#4.13">4.13</A>) How do I do regular expression searches
and case-insensitive regexp searching?<BR>
-<A HREF="#4.14">4.14</A>) In a query, how do I detect if a field
+<A HREF="#4.14">4.14</A>) In a query, how do I detect if a field
is NULL?<BR>
-<A HREF="#4.15">4.15</A>) What is the difference between the
+<A HREF="#4.15">4.15</A>) What is the difference between the
various character types?<BR>
-<A HREF="#4.16.1">4.16.1</A>) How do I create a serial/auto-incrementing field?<BR>
-<A HREF="#4.16.2">4.16.2</A>) How do I get the value of a serial insert?<BR>
-<A HREF="#4.16.3">4.16.3</A>) Wouldn't use of currval() and nextval() lead to a race condition with other concurrent backend processes?<BR>
+<A HREF="#4.16.1">4.16.1</A>) How do I create a serial/auto-incrementing field?<BR>
+<A HREF="#4.16.2">4.16.2</A>) How do I get the value of a serial insert?<BR>
+<A HREF="#4.16.3">4.16.3</A>) Wouldn't use of currval() and nextval() lead to a race condition with other concurrent backend processes?<BR>
-<A HREF="#4.17">4.17</A>) What is an oid? What is a tid?<BR>
-<A HREF="#4.18">4.18</A>) What is the meaning of some of the terms
+<A HREF="#4.17">4.17</A>) What is an oid? What is a tid?<BR>
+<A HREF="#4.18">4.18</A>) What is the meaning of some of the terms
used in PostgreSQL?<BR>
-<A HREF="#4.19">4.19</A>) Why do I get the error "FATAL: palloc
+<A HREF="#4.19">4.19</A>) Why do I get the error "FATAL: palloc
failure: memory exhausted?"<BR>
-<A HREF="#4.20">4.20</A>) How do I tell what PostgreSQL version I
+<A HREF="#4.20">4.20</A>) How do I tell what PostgreSQL version I
am running? <BR>
-<A HREF="#4.21">4.21</A>) My large-object operations get <I>invalid
+<A HREF="#4.21">4.21</A>) My large-object operations get <I>invalid
large obj descriptor.</I> Why?<BR>
<A HREF="#4.22">4.22</A>) How do I create a column that will default to the
current time?<BR>
@@ -138,15 +138,15 @@ current time?<BR>
<H2><CENTER>Extending PostgreSQL</CENTER></H2>
-<A HREF="#5.1">5.1</A>) I wrote a user-defined function. When I run
+<A HREF="#5.1">5.1</A>) I wrote a user-defined function. When I run
it in <I>psql,</I> why does it dumps core?<BR>
-<A HREF="#5.2">5.2</A>) What does the message:
+<A HREF="#5.2">5.2</A>) What does the message:
<I>NOTICE:PortalHeapMemoryFree: 0x402251d0 not in alloc set!</I> mean?<BR>
-<A HREF="#5.3">5.3</A>) How can I contribute some nifty new types and functions
+<A HREF="#5.3">5.3</A>) How can I contribute some nifty new types and functions
for PostgreSQL?<BR>
-<A HREF="#5.4">5.4</A>) How do I write a C function to return a
+<A HREF="#5.4">5.4</A>) How do I write a C function to return a
tuple?<BR>
-<A HREF="#5.5">5.5</A>) I have changed a source file. Why does the
+<A HREF="#5.5">5.5</A>) I have changed a source file. Why does the
recompile does not see the change?<BR>
@@ -154,7 +154,7 @@ recompile does not see the change?<BR>
<H2><CENTER>General Questions</CENTER></H2>
<H4><A
-NAME="1.1">1.1</A>) What is PostgreSQL?</H4><P>
+NAME="1.1">1.1</A>) What is PostgreSQL?</H4><P>
PostgreSQL is an enhancement of the POSTGRES database management system,
a next-generation DBMS research prototype. While PostgreSQL retains the
@@ -183,7 +183,7 @@ name was changed at the end of 1996 to PostgreSQL.<P>
It is pronounced <I>Post-Gres-Q-L.</I>
-<H4><A NAME="1.2">1.2</A>) What's the copyright on
+<H4><A NAME="1.2">1.2</A>) What's the copyright on
PostgreSQL?</H4><P>
PostgreSQL is subject to the following COPYRIGHT.<P>
@@ -215,7 +215,7 @@ MODIFICATIONS.<P>
-<H4><A NAME="1.3">1.3</A>) What Unix platforms does PostgreSQL run
+<H4><A NAME="1.3">1.3</A>) What Unix platforms does PostgreSQL run
on?</H4><P>
The authors have compiled and tested PostgreSQL on the following
@@ -243,7 +243,7 @@ platforms (some of these compiles require gcc):
</UL>
<P>
-<H4><A NAME="1.4">1.4</A>) What non-unix ports are available?</H4><P>
+<H4><A NAME="1.4">1.4</A>) What non-unix ports are available?</H4><P>
It is possible to compile the libpq C library, psql, and other
interfaces and binaries to run on MS Windows platforms. In this case,
@@ -263,14 +263,14 @@ There is another port using U/Win at <A HREF=
"http://surya.wipro.com/uwin/ported.html">http://surya.wipro.com/uwin/ported.html.</A>
-<H4><A NAME="1.5">1.5</A>) Where can I get PostgreSQL?</H4><P>
+<H4><A NAME="1.5">1.5</A>) Where can I get PostgreSQL?</H4><P>
The primary anonymous ftp site for PostgreSQL is
<A
HREF="ftp://ftp.postgreSQL.org/pub">ftp://ftp.postgreSQL.org/pub</A>
<P>
For mirror sites, see our main web site.
-<H4><A NAME="1.6">1.6</A>) Where can I get support for PostgreSQL?</H4><P>
+<H4><A NAME="1.6">1.6</A>) Where can I get support for PostgreSQL?</H4><P>
There is no official support for PostgreSQL from the University of
California, Berkeley. It is maintained through volunteer effort.<P>
@@ -336,14 +336,14 @@ Commercial support for PostgreSQL is available at <A
HREF="http://www.pgsql.com">http://www.pgsql.com/</A><P>
-<H4><A NAME="1.7">1.7</A>) What is the latest release of PostgreSQL?</H4><P>
+<H4><A NAME="1.7">1.7</A>) What is the latest release of PostgreSQL?</H4><P>
The latest release of PostgreSQL is version 7.0.<P>
We plan to have major releases every four months.<P>
-<H4><A NAME="1.8">1.8</A>) What documentation is available for PostgreSQL?</H4><P>
+<H4><A NAME="1.8">1.8</A>) What documentation is available for PostgreSQL?</H4><P>
Several manuals, manual pages, and some small test examples are
included in the distribution. See the /doc directory. You can also
@@ -358,14 +358,14 @@ operators, functions, aggregates, etc.<P>
The web site contains even more documentation.<P>
-<H4><A NAME="1.9">1.9</A>) How do I find out about known bugs or missing features?
+<H4><A NAME="1.9">1.9</A>) How do I find out about known bugs or missing features?
</H4><P>
PostgreSQL supports an extended subset of SQL-92. See our
<A HREF="http://www.postgreSQL.org/docs/todo.html">
TODO</A> for a list of known bugs, missing features, and future plans.<P>
-<H4><A NAME="1.10">1.10</A>) How can I learn SQL?</H4><P>
+<H4><A NAME="1.10">1.10</A>) How can I learn SQL?</H4><P>
There is a nice tutorial at <A
HREF="http://w3.one.net/~jhoffman/sqltut.htm">
@@ -382,12 +382,12 @@ Addison Wesley. Others like <I>Lan Times Guide to SQL</I>, Groff et al.,
Osborne McGraw-Hill.<P>
-<H4><A NAME="1.11">1.11</A>) Is PostgreSQL Y2K compliant?</H4><P>
+<H4><A NAME="1.11">1.11</A>) Is PostgreSQL Y2K compliant?</H4><P>
Yes, we easily handle dates past the year 2000AD, and before 2000BC.<P>
-<H4><A NAME="1.12">1.12</A>) How do I join the development team?</H4><P>
+<H4><A NAME="1.12">1.12</A>) How do I join the development team?</H4><P>
First, download the latest sources and read the PostgreSQL Developers
documentation on our web site, or in the distribution.
@@ -400,7 +400,7 @@ high-quality patches that it was a pain for the existing
committers to keep up, and we had confidence that patches they
committed were likely to be of high quality.
-<H4><A NAME="1.13">1.13</A>) How do I submit a bug report?</H4><P>
+<H4><A NAME="1.13">1.13</A>) How do I submit a bug report?</H4><P>
Fill out the "bug-template" file and send it to: <A
HREF="mailto:bugs@postgreSQL.org">bugs@postgreSQL.org</A><P>
@@ -410,7 +410,7 @@ HREF="ftp://ftp.postgreSQL.org/pub">ftp://ftp.postgreSQL.org/pub</A> to
see if there is a more recent PostgreSQL version or patches.<P>
-<H4><A NAME="1.14">1.14</A>) How does PostgreSQL compare to other
+<H4><A NAME="1.14">1.14</A>) How does PostgreSQL compare to other
DBMS's?</H4><P>
There are several ways of measuring software: features, performance,
@@ -484,6 +484,19 @@ add our code to your product with no limitations, except those outlined
in our BSD-style license stated above.<BR><BR>
</DL>
+<H4><A NAME="1.14">1.14</A>) What are the maximum size limits?</H4><P>
+
+These are the limits:
+
+<PRE>
+Maximum size for a database? unlimited (60GB databases exist)
+Maximum size for a table? unlimited on all operating systems
+Maximum size for a row? 8k, configurable to 32k
+Maximum number of rows in a table? unlimited
+Maximum number of columns table? unlimited
+Maximun number of indexes on a table? unlimited
+</PRE>
+The row length limit will be removed in 7.1.<P>
<HR>
@@ -492,7 +505,7 @@ in our BSD-style license stated above.<BR><BR>
-<H4><A NAME="2.1">2.1</A>) Are there ODBC drivers for PostgreSQL?</H4><P>
+<H4><A NAME="2.1">2.1</A>) Are there ODBC drivers for PostgreSQL?</H4><P>
There are two ODBC drivers available, PostODBC and OpenLink ODBC.<P>
@@ -512,7 +525,7 @@ HREF="mailto:postgres95@openlink.co.uk">postgres95@openlink.co.uk</A>.<P>
-<H4><A NAME="2.2">2.2</A>) What tools are available for hooking
+<H4><A NAME="2.2">2.2</A>) What tools are available for hooking
PostgreSQL to Web pages?</H4><P>
A nice introduction to Database-backed Web pages can be seen at: <A
@@ -530,7 +543,7 @@ use the perl interface and CGI.pm.<P>
A WWW gateway based on WDB using perl can be downloaded from <A
HREF="http://www.eol.ists.ca/~dunlop/wdb-p95">http://www.eol.ists.ca/~dunlop/wdb-p95</A>
-<H4><A NAME="2.3">2.3</A>) Does PostgreSQL have a graphical user interface?
+<H4><A NAME="2.3">2.3</A>) Does PostgreSQL have a graphical user interface?
A report generator? An embedded query language interface?</H4><P>
We have a nice graphical user interface called <I>pgaccess,</I> which is
@@ -541,7 +554,7 @@ generator. The web page is <A HREF=
We also include <I>ecpg,</I> which is an embedded SQL query language interface for
C.
-<H4><A NAME="2.4">2.4</A>) What languages are available to
+<H4><A NAME="2.4">2.4</A>) What languages are available to
communicate with PostgreSQL?</H4><P>
We have:
@@ -563,7 +576,7 @@ We have:
<H2><CENTER>Administrative Questions</CENTER></H2><P>
-<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>
<UL>
<LI> check that you don't have any of the previous version's binaries in
@@ -574,7 +587,7 @@ your path (If you see the message <CODE>WARN:heap_modifytuple: repl is
</UL><P>
-<H4><A NAME="3.2">3.2</A>) How do I install PostgreSQL somewhere
+<H4><A NAME="3.2">3.2</A>) How do I install PostgreSQL somewhere
other than /usr/local/pgsql?</H4><P>
The simplest way is to specify the --prefix option when running configure.
@@ -582,7 +595,7 @@ If you forgot to do that, you can edit Makefile.global and change POSTGRESDIR
accordingly, or create a Makefile.custom and define POSTGRESDIR there.<P>
-<H4><A NAME="3.3">3.3</A>) When I start the postmaster, I get a <I>Bad
+<H4><A NAME="3.3">3.3</A>) When I start the postmaster, I get a <I>Bad
System Call</I> or core dumped message. Why?</H4><P>
It could be a variety of problems, but first check to see that you
@@ -590,7 +603,7 @@ have system V extensions installed in your kernel. PostgreSQL requires
kernel support for shared memory and semaphores.<P>
-<H4><A NAME="3.4">3.4</A>) When I try to start the postmaster, I
+<H4><A NAME="3.4">3.4</A>) When I try to start the postmaster, I
get <I>IpcMemoryCreate</I> errors. Why?</H4><P>
You either do not have shared memory configured properly in kernel or
@@ -600,7 +613,7 @@ and backend processes you configure postmaster to run with.
For most systems, with default numbers of buffers and processes, you
need a minimum of ~1MB.<P>
-<H4><A NAME="3.5">3.5</A>) When I try to start the postmaster, I
+<H4><A NAME="3.5">3.5</A>) When I try to start the postmaster, I
get <I>IpcSemaphoreCreate</I> errors. Why?</H4><P>
If the error message is <I>IpcSemaphoreCreate: semget failed (No space
@@ -615,7 +628,7 @@ If the error message is something else, you might not have semaphore
support configured in your kernel at all.<P>
-<H4><A NAME="3.6">3.6</A>) How do I prevent other hosts from
+<H4><A NAME="3.6">3.6</A>) How do I prevent other hosts from
accessing my PostgreSQL database?</H4><P>
By default, PostgreSQL only allows connections from the local machine
@@ -625,7 +638,7 @@ unless you add the <I>-i</I> flag to the <I>postmaster,</I>
<I>$PGDATA/pg_hba.conf</I> accordingly. This will allow TCP/IP connections.
<P>
-<H4><A NAME="3.7">3.7</A>) Why can't I connect to my database from
+<H4><A NAME="3.7">3.7</A>) Why can't I connect to my database from
another machine?</H4><P>
The default configuration allows only unix domain socket connections
@@ -635,7 +648,7 @@ appropriate host entry to the file
<I>pgsql/data/pg_hba.conf</I>. See the <I>pg_hba.conf</I> manual page.<P>
-<H4><A NAME="3.8">3.8</A>) Why can't I access the database as the <I>root</I>
+<H4><A NAME="3.8">3.8</A>) Why can't I access the database as the <I>root</I>
user?</H4><P>
You should not create database users with user id 0 (root). They will be
@@ -644,14 +657,14 @@ of the ability of any user to dynamically link object modules into the
database engine.<P>
-<H4><A NAME="3.9">3.9</A>) All my servers crash under concurrent
+<H4><A NAME="3.9">3.9</A>) All my servers crash under concurrent
table access. Why?</H4><P>
This problem can be caused by a kernel that is not configured to support
semaphores.<P>
-<H4><A NAME="3.10">3.10</A>) How do I tune the database engine for
+<H4><A NAME="3.10">3.10</A>) How do I tune the database engine for
better performance?</H4><P>
Certainly, indices can speed up queries. The <SMALL>EXPLAIN</SMALL> command
@@ -685,7 +698,7 @@ You can also use the <SMALL>CLUSTER</SMALL> command to group data in base tables
match an index. See the cluster(l) manual page for more details.<P>
-<H4><A NAME="3.11">3.11</A>) What debugging features are available in
+<H4><A NAME="3.11">3.11</A>) What debugging features are available in
PostgreSQL?</H4><P>
PostgreSQL has several features that report status information that can
@@ -763,7 +776,7 @@ 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 <I>include/storage/sinvaladt.h.</I><P>
-<H4><A NAME="3.13">3.13</A>) What are the pg_tempNNN.NN files in my
+<H4><A NAME="3.13">3.13</A>) What are the pg_tempNNN.NN files in my
database directory?</H4><P>
They are temporary files generated by the query executor. For
@@ -775,38 +788,12 @@ The temp files should go away automatically, but might not if a backend
crashes during a sort. If you have no transactions running at the time,
it is safe to delete the pg_tempNNN.NN files.<P>
-<H4><A NAME="3.14">3.14</A>) How do I set up a pg_group?</H4><P>
-
-Currently, there is no easy interface to set up user groups. You have to
-explicitly insert/update the pg_group table. For example:
-
-<PRE>
- jolly=&gt; insert into pg_group (groname, grosysid, grolist)
- jolly=&gt; values ('posthackers', '1234', '{5443, 8261}');
- INSERT 548224
- jolly=&gt; grant insert on foo to group posthackers;
- CHANGE
- jolly=&gt;
-</PRE><P>
-
- The fields in pg_group are:
-<UL>
-<LI>groname: the group name. This a name and should
-be purely alphanumeric. Do not include underscores
-or other punctuation.
-<LI>grosysid: the group id. This is an int4.
-This should be unique for each group.
-<LI>grolist: the list of pg_user id's that belong in the group.
-This is an int4[].
-</UL><P>
-
-
<HR>
<H2><CENTER>Operational Questions</CENTER></H2><P>
-<H4><A NAME="4.1">4.1</A>) The system seems to be confused about
+<H4><A NAME="4.1">4.1</A>) The system seems to be confused about
commas, decimal points, and date formats.</H4><P>
Check your locale configuration. PostgreSQL uses the locale settings of
@@ -815,12 +802,12 @@ SET commands to control the date format. Set those accordingly for
your operating environment.<P>
-<H4><A NAME="4.2">4.2</A>) What is the exact difference between
+<H4><A NAME="4.2">4.2</A>) What is the exact difference between
binary cursors and normal cursors?</H4><P>
See the <SMALL>DECLARE</SMALL> manual page for a description.<P>
-<H4><A NAME="4.3">4.3</A>) How do I <SMALL>SELECT</SMALL> only the first few
+<H4><A NAME="4.3">4.3</A>) How do I <SMALL>SELECT</SMALL> only the first few
rows of a query?</H4><P>
See the <SMALL>FETCH</SMALL> manual page, or use SELECT ... LIMIT....<P>
@@ -842,7 +829,7 @@ with the <I>-E</I> option so that it will print out the queries it uses
to execute the commands you give.<P>
-<H4><A NAME="4.5">4.5</A>) How do you remove a column from a
+<H4><A NAME="4.5">4.5</A>) How do you remove a column from a
table?</H4><P>
We do not support <SMALL>ALTER TABLE DROP COLUMN,</SMALL> but do
@@ -858,7 +845,7 @@ this:
-<H4><A NAME="4.6">4.6</A>) What is the maximum size for a
+<H4><A NAME="4.6">4.6</A>) What is the maximum size for a
row, table, database?</H4><P>
Rows are limited to 8K bytes, but this can be changed by editing
@@ -904,7 +891,7 @@ this data can be estimated at 14MB:
Indexes do not contain as much overhead, but do contain the data that is
being indexed, so they can be large also.<P>
-<H4><A NAME="4.8">4.8</A>) How do I find out what indices or
+<H4><A NAME="4.8">4.8</A>) How do I find out what indices or
operations are defined in the database?</H4><P>
<I>psql</I> has a variety of backslash commands to show such information. Use
@@ -915,7 +902,7 @@ illustrates many of the <SMALL>SELECT</SMALL>s needed to get information from
the database system tables.<P>
-<H4><A NAME="4.9">4.9</A>) My queries are slow or don't make
+<H4><A NAME="4.9">4.9</A>) My queries are slow or don't make
use of the indexes. Why?</H4><P>
PostgreSQL does not automatically maintain statistics. One has to make
@@ -943,12 +930,12 @@ the string. So, to use indices, <SMALL>LIKE</SMALL> searches should not
begin with <I>%,</I> and <I>~</I>(regular expression searches) should
start with <I>^.</I>
-<H4><A NAME="4.10">4.10</A>) How do I see how the query optimizer is
+<H4><A NAME="4.10">4.10</A>) How do I see how the query optimizer is
evaluating my query?</H4><P>
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
handle range searches. A B-tree index only handles range searches in a
@@ -971,7 +958,7 @@ extending R-trees require a bit of work and we don't currently have any
documentation on how to do it.<P>
-<H4><A NAME="4.12">4.12</A>) What is Genetic Query
+<H4><A NAME="4.12">4.12</A>) What is Genetic Query
Optimization?</H4><P>
The GEQO module in PostgreSQL is intended to solve the query
@@ -983,7 +970,7 @@ For further information see the documentation.
-<H4><A NAME="4.13">4.13</A>) How do I do regular expression searches and
+<H4><A NAME="4.13">4.13</A>) How do I do regular expression searches and
case-insensitive regexp searching?</H4><P>
The <I>~</I> operator does regular-expression matching, and <I>~*</I>
@@ -994,13 +981,13 @@ effect of case-insensitive <SMALL>LIKE</SMALL> with this:
WHERE lower(textfield) LIKE lower(pattern)
</PRE>
-<H4><A NAME="4.14">4.14</A>) In a query, how do I detect if a field
+<H4><A NAME="4.14">4.14</A>) In a query, how do I detect if a field
is NULL?</H4><P>
You test the column with IS NULL and IS NOT NULL.<P>
-<H4><A NAME="4.15">4.15</A>) What is the difference between the
+<H4><A NAME="4.15">4.15</A>) What is the difference between the
various character types?</H4>
<PRE>
@@ -1025,7 +1012,7 @@ them. Specifically, the penalty is for access to all columns after the
first column of this type.<P>
-<H4><A NAME="4.16.1">4.16.1</A>) How do I create a
+<H4><A NAME="4.16.1">4.16.1</A>) How do I create a
serial/auto-incrementing field?</H4><P>
PostgreSQL supports <SMALL>SERIAL</SMALL> data type. It auto-creates a
@@ -1054,7 +1041,7 @@ 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/node74.html">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>
Probably the simplest approach is to to retrieve the next SERIAL value from the sequence object with the <I>nextval()</I> function <I>before</I> inserting and then insert it explicitly. Using the example table in <A HREF="#4.16.1">4.16.1</A>, that might look like this:
<PRE>
$newSerialID = nextval('person_id_seq');
@@ -1069,12 +1056,12 @@ Similarly, you could retrieve the just-assigned SERIAL value with the <I>currval
</PRE>
Finally, you could use the <A HREF="#4.17">oid</A> returned from the INSERT statement to lookup the default value, though this is probably the least portable approach. In perl, using DBI with Edmund Mergl's DBD::Pg module, the oid value is made available via $sth->{pg_oid_status} after $sth->execute().
-<H4><A NAME="4.16.3">4.16.3</A>) Wouldn't use of currval() and nextval() lead to a race condition with other concurrent backend processes?</H4><P>
+<H4><A NAME="4.16.3">4.16.3</A>) Wouldn't use of currval() and nextval() lead to a race condition with other concurrent backend processes?</H4><P>
No. That has been handled by the backends.
-<H4><A NAME="4.17">4.17</A>) What is an oid? What is a tid?</H4><P>
+<H4><A NAME="4.17">4.17</A>) What is an oid? What is a tid?</H4><P>
Oids are PostgreSQL's answer to unique row ids. Every row that is
created in PostgreSQL gets a unique oid. All oids generated during
@@ -1111,7 +1098,7 @@ values. Tids change after rows are modified or reloaded. They are used
by index entries to point to physical rows.<P>
-<H4><A NAME="4.18">4.18</A>) What is the meaning of some of the terms
+<H4><A NAME="4.18">4.18</A>) What is the meaning of some of the terms
used in PostgreSQL?</H4><P>
Some of the source code and older documentation use terms that have more
@@ -1206,20 +1193,20 @@ We hope to fix this limitation in a future release.
<H2><CENTER>Extending PostgreSQL</CENTER></H2><P>
-<H4><A NAME="5.1">5.1</A>) I wrote a user-defined function. When
+<H4><A NAME="5.1">5.1</A>) I wrote a user-defined function. When
I run it in <I>psql,</I> why does it dump core?</H4><P>
The problem could be a number of things. Try testing your user-defined
function in a stand alone test program first.
-<H4><A NAME="5.2">5.2</A>) What does the message:
+<H4><A NAME="5.2">5.2</A>) What does the message:
<I>NOTICE:PortalHeapMemoryFree: 0x402251d0 not in alloc set!</I> mean?</H4><P>
You are <I>pfree'ing</I> something that was not <I>palloc'ed.</I>
Beware of mixing <I>malloc/free</I> and <I>palloc/pfree.</I>
-<H4><A NAME="5.3">5.3</A>) How can I contribute some nifty new types and
+<H4><A NAME="5.3">5.3</A>) How can I contribute some nifty new types and
functions for PostgreSQL?</H4><P>
@@ -1227,13 +1214,13 @@ Send your extensions to the pgsql-hackers mailing list, and they will
eventually end up in the <I>contrib/</I> subdirectory.<P>
-<H4><A NAME="5.4">5.4</A>) How do I write a C function to return a
+<H4><A NAME="5.4">5.4</A>) How do I write a C function to return a
tuple?</H4><P>
This requires wizardry so extreme that the authors have never
tried it, though in principle it can be done.<P>
-<H4><A NAME="5.5">5.5</A>) I have changed a source file. Why does the
+<H4><A NAME="5.5">5.5</A>) I have changed a source file. Why does the
recompile does not see the change?</H4><P>
The Makefiles do not have the proper dependencies for include files. You