]> granicus.if.org Git - postgresql/commitdiff
Update FAQ.
authorBruce Momjian <bruce@momjian.us>
Sun, 21 Jan 2001 22:16:56 +0000 (22:16 +0000)
committerBruce Momjian <bruce@momjian.us>
Sun, 21 Jan 2001 22:16:56 +0000 (22:16 +0000)
doc/FAQ
doc/src/FAQ/FAQ.html

diff --git a/doc/FAQ b/doc/FAQ
index 202a758be576b381ec534c92b48d889b905e9d19..bb95f2ebef5aa8dcd66a06ff278f598251fc4c7c 100644 (file)
--- a/doc/FAQ
+++ b/doc/FAQ
    
                           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
                                       
    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?
     
    
     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.
    
    
                           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
    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
    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
    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
    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.
    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.
    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
     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?
    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.
index 0fce45f71cedb3e355409d7a6563c97b136cb671..57038e4db7ae788c4fbb28e80cde6b9557a41858 100644 (file)
     <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>
      
 
     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>
 
 
     <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>
 
       <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
     <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>
 
     <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
     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
     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
     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
     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
     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
     </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>
 <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>