aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2001-01-21 22:16:56 +0000
committerBruce Momjian <bruce@momjian.us>2001-01-21 22:16:56 +0000
commitd90eb434e4b93ef679499e5f23b0c812f6a4a8f9 (patch)
tree33d8357003a2a1a7160c21412a237255bb2d3ff4
parent4f34f55d3d8da09271e100b5db5b030256465fb7 (diff)
downloadpostgresql-d90eb434e4b93ef679499e5f23b0c812f6a4a8f9.tar.gz
postgresql-d90eb434e4b93ef679499e5f23b0c812f6a4a8f9.zip
Update FAQ.
-rw-r--r--doc/FAQ116
-rw-r--r--doc/src/FAQ/FAQ.html112
2 files changed, 83 insertions, 145 deletions
diff --git a/doc/FAQ b/doc/FAQ
index 202a758be57..bb95f2ebef5 100644
--- a/doc/FAQ
+++ b/doc/FAQ
@@ -39,24 +39,22 @@
Administrative Questions
- 3.1) Why does initdb fail?
- 3.2) How do I install PostgreSQL somewhere other than
+ 3.1) How do I install PostgreSQL somewhere other than
/usr/local/pgsql?
- 3.3) When I start the postmaster, I get a Bad System Call or core
+ 3.2) When I start the postmaster, I get a Bad System Call or core
dumped message. Why?
- 3.4) When I try to start the postmaster, I get IpcMemoryCreate errors.
+ 3.3) When I try to start the postmaster, I get IpcMemoryCreate errors.
Why?
- 3.5) When I try to start the postmaster, I get IpcSemaphoreCreate
+ 3.4) When I try to start the postmaster, I get IpcSemaphoreCreate
errors. Why?
- 3.6) How do I prevent other hosts from accessing my PostgreSQL
+ 3.5) How do I prevent other hosts from accessing my PostgreSQL
database?
- 3.7) Why can't I connect to my database from another machine?
- 3.8) Why can't I access the database as the root user?
- 3.9) All my servers crash under concurrent table access. Why?
- 3.10) How do I tune the database engine for better performance?
- 3.11) What debugging features are available?
- 3.12) I get "Sorry, too many clients" when trying to connect. Why?
- 3.13) What are the pg_sorttempNNN.NN files in my database directory?
+ 3.6) Why can't I connect to my database from another machine?
+ 3.7) All my servers crash under concurrent table access. Why?
+ 3.8) How do I tune the database engine for better performance?
+ 3.9) What debugging features are available?
+ 3.10) I get "Sorry, too many clients" when trying to connect. Why?
+ 3.11) What are the pg_sorttempNNN.NN files in my database directory?
Operational Questions
@@ -177,15 +175,16 @@
It is possible to compile the libpq C library, psql, and other
interfaces and binaries to run on MS Windows platforms. In this case,
the client is running on MS Windows, and communicates via TCP/IP to a
- server running on one of our supported Unix platforms.
+ server running on one of our supported Unix platforms. A file
+ win31.mak is included in the distribution for making a Win32 libpq
+ library and psql.
- A file win31.mak is included in the distribution for making a Win32
- libpq library and psql.
-
- The database server is now working on Windows NT using Cygwin, the
- Cygnus Unix/NT porting library. See pgsql/doc/FAQ_NT in the
- distribution. It does not work on MS Windows 9X because Cygwin does
- not support the features we need on those platforms.
+ The database server can run on Windows NT and later using Cygwin, the
+ Cygnus Unix/NT porting library. See pgsql/doc/FAQ_MSWIN in the
+ distribution. The database server does not run on MS Windows 9X
+ because Cygwin does not support the required features on those
+ platforms. We have no plans to do a native port to any Microsoft
+ platform.
1.5) Where can I get PostgreSQL?
@@ -238,7 +237,7 @@
1.7) What is the latest release?
- The latest release of PostgreSQL is version 7.0.2.
+ The latest release of PostgreSQL is version 7.0.3.
We plan to have major releases every four months.
@@ -425,32 +424,18 @@
Administrative Questions
- 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
- * check that the postgres user owns the proper files
-
- If you see an error message about oidvector, you definately have a
- version mismatch.
-
- 3.2) How do I install PostgreSQL somewhere other than /usr/local/pgsql?
+ 3.1) How do I install PostgreSQL somewhere other than /usr/local/pgsql?
- The simplest way is to specify the --prefix option when running
- configure. If you forgot to do that, you can edit Makefile.global and
- change POSTGRESDIR accordingly, or create a Makefile.custom and define
- POSTGRESDIR there.
+ Specify the --prefix option when running configure.
- 3.3) When I start the postmaster, I get a Bad System Call or core dumped
+ 3.2) When I start the postmaster, I get a Bad System Call or core dumped
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
kernel support for shared memory and semaphores.
- 3.4) When I try to start the postmaster, I get IpcMemoryCreate errors. Why?
+ 3.3) When I try to start the postmaster, I get IpcMemoryCreate errors. Why?
You either do not have shared memory configured properly in your
kernel or you need to enlarge the shared memory available in the
@@ -459,7 +444,7 @@
For most systems, with default numbers of buffers and processes, you
need a minimum of ~1MB.
- 3.5) When I try to start the postmaster, I get IpcSemaphoreCreate errors.
+ 3.4) When I try to start the postmaster, I get IpcSemaphoreCreate errors.
Why?
If the error message is IpcSemaphoreCreate: semget failed (No space
@@ -473,7 +458,7 @@
If the error message is something else, you might not have semaphore
support configured in your kernel at all.
- 3.6) How do I prevent other hosts from accessing my PostgreSQL database?
+ 3.5) How do I prevent other hosts from accessing my PostgreSQL database?
By default, PostgreSQL only allows connections from the local machine
using Unix domain sockets. Other machines will not be able to connect
@@ -481,26 +466,19 @@
authentication by modifying the file $PGDATA/pg_hba.conf accordingly.
This will allow TCP/IP connections.
- 3.7) Why can't I connect to my database from another machine?
+ 3.6) Why can't I connect to my database from another machine?
The default configuration allows only unix domain socket connections
from the local machine. To enable TCP/IP connections, make sure the
postmaster has been started with the -i option, and add an appropriate
host entry to the file pgsql/data/pg_hba.conf.
- 3.8) Why can't I access the database as the root user?
-
- You should not create database users with user id 0 (root). They will
- be unable to access the database. This is a security precaution
- because of the ability of users to dynamically link object modules
- into the database engine.
-
- 3.9) All my servers crash under concurrent table access. Why?
+ 3.7) All my servers crash under concurrent table access. Why?
This problem can be caused by a kernel that is not configured to
support semaphores.
- 3.10) How do I tune the database engine for better performance?
+ 3.8) How do I tune the database engine for better performance?
Certainly, indices can speed up queries. The EXPLAIN command allows
you to see how PostgreSQL is interpreting your query, and which
@@ -531,7 +509,7 @@
You can also use the CLUSTER command to group data in tables to match
an index. See the CLUSTER manual page for more details.
- 3.11) What debugging features are available?
+ 3.9) What debugging features are available?
PostgreSQL has several features that report status information that
can be valuable for debugging purposes.
@@ -578,7 +556,7 @@
pgsql/data/base/dbname directory. The client profile file will be put
in the client's current directory.
- 3.12) I get 'Sorry, too many clients' when trying to connect. Why?
+ 3.10) I get 'Sorry, too many clients' when trying to connect. Why?
You need to increase the postmaster's limit on how many concurrent
backend processes it can start.
@@ -606,7 +584,7 @@
was 64, and changing it required a rebuild after altering the
MaxBackendId constant in include/storage/sinvaladt.h.
- 3.13) What are the pg_sorttempNNN.NN files in my database directory?
+ 3.11) What are the pg_sorttempNNN.NN files in my database directory?
They are temporary files generated by the query executor. For example,
if a sort needs to be done to satisfy an ORDER BY, and the sort
@@ -645,9 +623,9 @@
4.4) How do I get a list of tables or other things I can see in psql?
You can read the source code for psql in file
- pgsql/src/bin/psql/psql.c. It contains SQL commands that generate the
- output for psql's backslash commands. You can also start psql with the
- -E option so it will print out the queries it uses to execute the
+ pgsql/src/bin/psql/describe.c. It contains SQL commands that generate
+ the output for psql's backslash commands. You can also start psql with
+ the -E option so it will print out the queries it uses to execute the
commands you give.
4.5) How do you remove a column from a table?
@@ -664,20 +642,14 @@
These are the limits:
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 size for a row? unlimited in 7.1 and later
+Maximum number of rows in a table? unlimited
Maximum number of columns in a table? unlimited
Maximum number of indexes on a table? unlimited
Of course, these are not actually unlimited, but limited to available
disk space.
- To change the maximum row size, edit include/config.h and change
- BLCKSZ. To use attributes larger than 8K, you can also use the large
- object interface.
-
- The row length limit will be removed in 7.1.
-
4.7) How much database disk space is required to store data from a typical
text file?
@@ -969,10 +941,10 @@ SELECT *
4.24) How do I do an outer join?
- PostgreSQL does not support outer joins in the current release. They
- can be simulated using UNION and NOT IN. For example, when joining
- tab1 and tab2, the following query does an outer join of the two
- tables:
+ PostgreSQL 7.1 and later supports outer joins. In previous releases,
+ outer joins can be simulated using UNION and NOT IN. For example, when
+ joining tab1 and tab2, the following query does an outer join of the
+ two tables:
SELECT tab1.col1, tab2.col2
FROM tab1, tab2
WHERE tab1.col1 = tab2.col1
@@ -1011,4 +983,6 @@ SELECT *
change?
The Makefiles do not have the proper dependencies for include files.
- You have to do a make clean and then another make.
+ You have to do a make clean and then another make. If you are using
+ GCC you can use the --enable-depend option of configure to have the
+ compiler compute the dependencies automatically.
diff --git a/doc/src/FAQ/FAQ.html b/doc/src/FAQ/FAQ.html
index 0fce45f71ce..57038e4db7a 100644
--- a/doc/src/FAQ/FAQ.html
+++ b/doc/src/FAQ/FAQ.html
@@ -63,30 +63,27 @@
<CENTER>
<H2>Administrative Questions</H2>
</CENTER>
- <A href="#3.1">3.1</A>) Why does <I>initdb</I> fail?<BR>
- <A href="#3.2">3.2</A>) How do I install PostgreSQL somewhere
+ <A href="#3.1">3.1</A>) How do I install PostgreSQL somewhere
other than <I>/usr/local/pgsql?</I><BR>
- <A href="#3.3">3.3</A>) When I start the <I>postmaster</I>, I get
+ <A href="#3.2">3.2</A>) When I start the <I>postmaster</I>, 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 <I>postmaster</I>,
+ <A href="#3.3">3.3</A>) When I try to start the <I>postmaster</I>,
I get <I>IpcMemoryCreate</I> errors. Why?<BR>
- <A href="#3.5">3.5</A>) When I try to start the <I>postmaster</I>,
+ <A href="#3.4">3.4</A>) When I try to start the <I>postmaster</I>,
I get <I>IpcSemaphoreCreate</I> errors. Why?<BR>
- <A href="#3.6">3.6</A>) How do I prevent other hosts from
+ <A href="#3.5">3.5</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.6">3.6</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
- <I>root</I> user?<BR>
- <A href="#3.9">3.9</A>) All my servers crash under concurrent
+ <A href="#3.7">3.7</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.8">3.8</A>) How do I tune the database engine for
better performance?<BR>
- <A href="#3.11">3.11</A>) What debugging features are
+ <A href="#3.9">3.9</A>) What debugging features are
available?<BR>
- <A href="#3.12">3.12</A>) I get <I>"Sorry, too many clients"</I>
+ <A href="#3.10">3.10</A>) I get <I>"Sorry, too many clients"</I>
when trying to connect. Why?<BR>
- <A href="#3.13">3.13</A>) What are the <I>pg_sorttempNNN.NN</I>
+ <A href="#3.11">3.11</A>) What are the <I>pg_sorttempNNN.NN</I>
files in my database directory?<BR>
@@ -236,15 +233,14 @@
other interfaces and binaries to run on MS Windows platforms. In
this case, the client is running on MS Windows, and communicates
via TCP/IP to a server running on one of our supported Unix
- platforms.</P>
-
- <P>A file <I>win31.mak</I> is included in the distribution for
+ platforms. A file <I>win31.mak</I> is included in the distribution for
making a Win32 <I>libpq</I> library and psql.</P>
- <P>The database server is now working on Windows NT using Cygwin,
- the Cygnus Unix/NT porting library. See <I>pgsql/doc/FAQ_NT</I> in
- the distribution. It does not work on MS Windows 9X because Cygwin
- does not support the features we need on those platforms.</P>
+ <P>The database server can run on Windows NT and later using
+ Cygwin, the Cygnus Unix/NT porting library. See <I>pgsql/doc/FAQ_MSWIN</I>
+ in the distribution. The database server does not run on MS Windows 9X
+ because Cygwin does not support the required features on those platforms.
+ We have no plans to do a native port to any Microsoft platform.</P>
<H4><A name="1.5">1.5</A>) Where can I get PostgreSQL?</H4>
@@ -317,7 +313,7 @@
<H4><A name="1.7">1.7</A>) What is the latest release?</H4>
- <P>The latest release of PostgreSQL is version 7.0.2.</P>
+ <P>The latest release of PostgreSQL is version 7.0.3.</P>
<P>We plan to have major releases every four months.</P>
@@ -565,39 +561,19 @@
<H2>Administrative Questions</H2>
</CENTER>
- <H4><A name="3.1">3.1</A>) Why does <I>initdb</I> fail?</H4>
-
- <P>Try these:</P>
-
- <UL>
- <LI>check that you don't have any of the previous version's
- binaries in your path</LI>
-
- <LI>check to see that you have the proper paths set</LI>
-
- <LI>check that the <I>postgres</I> user owns the proper
- files</LI>
- </UL>
-
- <P>If you see an error message about <I>oidvector,</I> you
- definately have a version mismatch.</P>
-
- <H4><A name="3.2">3.2</A>) How do I install PostgreSQL somewhere
+ <H4><A name="3.1">3.1</A>) How do I install PostgreSQL somewhere
other than <I>/usr/local/pgsql?</I></H4>
- <P>The simplest way is to specify the --prefix option when running
- <I>configure.</I> If you forgot to do that, you can edit
- <I>Makefile.global</I> and change POSTGRESDIR accordingly, or
- create a <I>Makefile.custom</I> and define POSTGRESDIR there.</P>
+ <P>Specify the <I>--prefix</I> option when running <I>configure.</I></P>
- <H4><A name="3.3">3.3</A>) When I start the <I>postmaster</I>, I
+ <H4><A name="3.2">3.2</A>) When I start the <I>postmaster</I>, 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 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
+ <H4><A name="3.3">3.3</A>) When I try to start the
<I>postmaster,</I> I get <I>IpcMemoryCreate</I> errors. Why?</H4>
<P>You either do not have shared memory configured properly in your
@@ -607,7 +583,7 @@
<I>postmaster.</I> 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
+ <H4><A name="3.4">3.4</A>) When I try to start the
<I>postmaster,</I> I get <I>IpcSemaphoreCreate</I> errors.
Why?</H4>
@@ -623,7 +599,7 @@
<P>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.5">3.5</A>) How do I prevent other hosts from
accessing my PostgreSQL database?</H4>
<P>By default, PostgreSQL only allows connections from the local
@@ -633,7 +609,7 @@
modifying the file <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.6">3.6</A>) Why can't I connect to my database from
another machine?</H4>
<P>The default configuration allows only unix domain socket
@@ -642,21 +618,13 @@
option, and add an appropriate host entry to the file
<I>pgsql/data/pg_hba.conf</I>.</P>
- <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 unable to access the database. This is a security
- precaution because of the ability of users 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.7">3.7</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.8">3.8</A>) How do I tune the database engine for
better performance?</H4>
<P>Certainly, indices can speed up queries. The
@@ -693,7 +661,7 @@
data in tables to match an index. See the <SMALL>CLUSTER</SMALL>
manual page for more details.</P>
- <H4><A name="3.11">3.11</A>) What debugging features are
+ <H4><A name="3.9">3.9</A>) What debugging features are
available?</H4>
<P>PostgreSQL has several features that report status information
@@ -749,7 +717,7 @@
in the <I>pgsql/data/base/dbname</I> directory. The client profile
file will be put in the client's current directory.</P>
- <H4><A name="3.12">3.12</A>) I get 'Sorry, too many clients' when
+ <H4><A name="3.10">3.10</A>) I get 'Sorry, too many clients' when
trying to connect. Why?</H4>
<P>You need to increase the <I>postmaster's</I> limit on how many
@@ -784,7 +752,7 @@
the MaxBackendId constant in
<I>include/storage/sinvaladt.h.</I></P>
- <H4><A name="3.13">3.13</A>) What are the <I>pg_sorttempNNN.NN</I>
+ <H4><A name="3.11">3.11</A>) What are the <I>pg_sorttempNNN.NN</I>
files in my database directory?</H4>
<P>They are temporary files generated by the query executor. For
@@ -835,7 +803,7 @@
</H4>
<P>You can read the source code for <I>psql</I> in file
- <I>pgsql/src/bin/psql/psql.c.</I> It contains SQL commands that
+ <I>pgsql/src/bin/psql/describe.c.</I> It contains SQL commands that
generate the output for psql's backslash commands. You can also
start <I>psql</I> with the <I>-E</I> option so it will print out
the queries it uses to execute the commands you give.</P>
@@ -860,20 +828,14 @@
<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 size for a row? unlimited in 7.1 and later
+Maximum number of rows in a table? unlimited
Maximum number of columns in a table? unlimited
Maximum number of indexes on a table? unlimited
</PRE>
Of course, these are not actually unlimited, but limited to
available disk space.
- <P>To change the maximum row size, edit <I>include/config.h</I> and
- change <SMALL>BLCKSZ.</SMALL> To use attributes larger than 8K, you
- can also use the large object interface.</P>
-
- <P>The 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 text file?<BR>
</H4>
@@ -1242,8 +1204,8 @@ BYTEA bytea variable-length byte array (null-safe)
<H4><A name="4.24">4.24</A>) How do I do an <I>outer</I> join?<BR>
</H4>
- <P>PostgreSQL does not support outer joins in the current release.
- They can be simulated using <SMALL>UNION</SMALL> and <SMALL>NOT
+ <P>PostgreSQL 7.1 and later supports outer joins. In previous releases,
+ outer joins can be simulated using <SMALL>UNION</SMALL> and <SMALL>NOT
IN</SMALL>. For example, when joining <I>tab1</I> and <I>tab2,</I>
the following query does an <I>outer</I> join of the two
tables:</P>
@@ -1295,7 +1257,9 @@ BYTEA bytea variable-length byte array (null-safe)
<P>The <I>Makefiles</I> do not have the proper dependencies for
include files. You have to do a <I>make clean</I> and then another
- <I>make</I>.</P>
+ <I>make</I>. If you are using GCC you can use the <i>--enable-depend</i>
+ option of <i>configure</i> to have the compiler compute the
+ dependencies automatically.</P>
</BODY>
</HTML>