Frequently Asked Questions (FAQ) for PostgreSQL
- Last updated: Sat Jan 29 22:51:43 EST 2005
+ Last updated: Sat Jan 29 22:59:12 EST 2005
Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
3.1) How do I install PostgreSQL somewhere other than
/usr/local/pgsql?
- 3.2) When I start postmaster, I get a Bad System Call or core dumped
- message. Why?
- 3.3) When I try to start postmaster, I get IpcMemoryCreate errors.
- Why?
- 3.4) When I try to start postmaster, I get IpcSemaphoreCreate errors.
- Why?
- 3.5) How do I control connections from other hosts?
- 3.6) How do I tune the database engine for better performance?
- 3.7) What debugging features are available?
- 3.8) Why do I get "Sorry, too many clients" when trying to connect?
- 3.9) What is in the pgsql_tmp directory?
- 3.10) Why do I need to do a dump and restore to upgrade PostgreSQL
+ 3.2) How do I control connections from other hosts?
+ 3.3) How do I tune the database engine for better performance?
+ 3.4) What debugging features are available?
+ 3.5) Why do I get "Sorry, too many clients" when trying to connect?
+ 3.6) What is in the pgsql_tmp directory?
+ 3.7) Why do I need to do a dump and restore to upgrade PostgreSQL
releases?
- 3.11) What computer hardware should I use?
+ 3.8) What computer hardware should I use?
Operational Questions
Specify the --prefix option when running configure.
- 3.2) When I start 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.3) When I try to start 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
- kernel. The exact amount you need depends on your architecture and how
- many buffers and backend processes you configure for postmaster. For
- most systems, with default numbers of buffers and processes, you need
- a minimum of ~1 MB. See the PostgreSQL Administrator's Guide/Server
- Run-time Environment/Managing Kernel Resources section for more
- detailed information about shared memory and semaphores.
-
- 3.4) When I try to start postmaster, I get IpcSemaphoreCreate errors. Why?
-
- If the error message is IpcSemaphoreCreate: semget failed (No space
- left on device) then your kernel is not configured with enough
- semaphores. Postgres needs one semaphore per potential backend
- process. A temporary solution is to start postmaster with a smaller
- limit on the number of backend processes. Use -N with a parameter less
- than the default of 32. A more permanent solution is to increase your
- kernel's SEMMNS and SEMMNI parameters.
-
- Inoperative semaphores can also cause crashes during heavy database
- access.
-
- If the error message is something else, you might not have semaphore
- support configured in your kernel at all. See the PostgreSQL
- Administrator's Guide for more detailed information about shared
- memory and semaphores.
-
- 3.5) How do I control connections from other hosts?
+ 3.2) How do I control connections from other hosts?
By default, PostgreSQL only allows connections from the local machine
using Unix domain sockets or TCP/IP connections. Other machines will
postgresql.conf and enable host-based authentication by modifying the
file $PGDATA/pg_hba.conf accordingly.
- 3.6) How do I tune the database engine for better performance?
+ 3.3) How do I tune the database engine for better performance?
Certainly, indexes can speed up queries. The EXPLAIN ANALYZE 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.7) What debugging features are available?
+ 3.4) What debugging features are available?
PostgreSQL has several features that report status information that
can be valuable for debugging purposes.
in the client's current directory. Linux requires a compile with
-DLINUX_PROFILE for proper profiling.
- 3.8) Why do I get "Sorry, too many clients" when trying to connect?
+ 3.5) Why do I get "Sorry, too many clients" when trying to connect?
You need to increase postmaster's limit on how many concurrent backend
processes it can start.
that PostgreSQL has a limit on the number of allowed backend processes
is so your system won't run out of resources.
- 3.9) What is in the pgsql_tmp directory?
+ 3.6) What is in the pgsql_tmp directory?
This directory contains temporary files generated by the query
executor. For example, if a sort needs to be done to satisfy an ORDER
remain if a backend crashes during a sort. A stop and restart of the
postmaster will remove files from those directories.
- 3.10) Why do I need to do a dump and restore to upgrade between major
+ 3.7) Why do I need to do a dump and restore to upgrade between major
PostgreSQL releases?
The PostgreSQL team makes only small changes between minor releases,
script can be used to upgrade without a dump/restore. The release
notes mention whether pg_upgrade is available for the release.
- 3.11) What computer hardware should I use?
+ 3.8) What computer hardware should I use?
Because PC hardware is mostly compatible, people tend to believe that
all PC hardware is of equal quality. It is not. ECC RAM, SCSI, and
alink="#0000ff">
<H1>Frequently Asked Questions (FAQ) for PostgreSQL</H1>
- <P>Last updated: Sat Jan 29 22:51:43 EST 2005</P>
+ <P>Last updated: Sat Jan 29 22:59:12 EST 2005</P>
<P>Current maintainer: Bruce Momjian (<A href=
"mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR>
<H2 align="center">Administrative Questions</H2>
<A href="#3.1">3.1</A>) How do I install PostgreSQL somewhere other
than <I>/usr/local/pgsql</I>?<BR>
- <A href="#3.2">3.2</A>) When I start <I>postmaster</I>, I get a
- <I>Bad System Call</I> or core dumped message. Why?<BR>
- <A href="#3.3">3.3</A>) When I try to start <I>postmaster</I>, I
- get <I>IpcMemoryCreate</I> errors. Why?<BR>
- <A href="#3.4">3.4</A>) When I try to start <I>postmaster</I>, I
- get <I>IpcSemaphoreCreate</I> errors. Why?<BR>
- <A href="#3.5">3.5</A>) How do I control connections from other
+ <A href="#3.2">3.2</A>) How do I control connections from other
hosts?<BR>
- <A href="#3.6">3.6</A>) How do I tune the database engine for
+ <A href="#3.3">3.3</A>) How do I tune the database engine for
better performance?<BR>
- <A href="#3.7">3.7</A>) What debugging features are available?<BR>
- <A href="#3.8">3.8</A>) Why do I get <I>"Sorry, too many
+ <A href="#3.4">3.4</A>) What debugging features are available?<BR>
+ <A href="#3.5">3.5</A>) Why do I get <I>"Sorry, too many
clients"</I> when trying to connect?<BR>
- <A href="#3.9">3.9</A>) What is in the <I>pgsql_tmp</I>
+ <A href="#3.6">3.6</A>) What is in the <I>pgsql_tmp</I>
directory?<BR>
- <A href="#3.10">3.10</A>) Why do I need to do a dump and restore
+ <A href="#3.7">3.7</A>) Why do I need to do a dump and restore
to upgrade PostgreSQL releases?<BR>
- <A href="#3.11">3.11</A>) What computer hardware should I use?<BR>
+ <A href="#3.8">3.8</A>) What computer hardware should I use?<BR>
<H2 align="center">Operational Questions</H2>
<P>Specify the <I>--prefix</I> option when running
<I>configure</I>.</P>
- <H4><A name="3.2">3.2</A>) When I start <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.3">3.3</A>) When I try to start <I>postmaster</I>, I
- get <I>IpcMemoryCreate</I> errors. Why?</H4>
-
- <P>You either do not have shared memory configured properly in your
- kernel or you need to enlarge the shared memory available in the
- kernel. The exact amount you need depends on your architecture and
- how many buffers and backend processes you configure for
- <I>postmaster</I>. For most systems, with default numbers of
- buffers and processes, you need a minimum of ~1 MB. See the <A
- href="http://www.postgresql.org/docs/current/static/kernel-resources.html">PostgreSQL
- Administrator's Guide/Server Run-time Environment/Managing Kernel Resources</A>
- section for more detailed information about shared memory and semaphores.</P>
-
- <H4><A name="3.4">3.4</A>) When I try to start <I>postmaster</I>, I
- get <I>IpcSemaphoreCreate</I> errors. Why?</H4>
-
- <P>If the error message is <I>IpcSemaphoreCreate: semget failed (No
- space left on device)</I> then your kernel is not configured with
- enough semaphores. Postgres needs one semaphore per potential
- backend process. A temporary solution is to start <I>postmaster</I>
- with a smaller limit on the number of backend processes. Use
- <I>-N</I> with a parameter less than the default of 32. A more
- permanent solution is to increase your kernel's
- <SMALL>SEMMNS</SMALL> and <SMALL>SEMMNI</SMALL> parameters.</P>
-
- <P>Inoperative semaphores can also cause crashes during heavy
- database access.</P>
-
- <P>If the error message is something else, you might not have
- semaphore support configured in your kernel at all. See the
- PostgreSQL Administrator's Guide for more detailed information
- about shared memory and semaphores.</P>
-
- <H4><A name="3.5">3.5</A>) How do I control connections from other
+ <H4><A name="3.2">3.2</A>) How do I control connections from other
hosts?</H4>
<P>By default, PostgreSQL only allows connections from the local
host-based authentication by modifying the file
<I>$PGDATA/pg_hba.conf</I> accordingly.</P>
- <H4><A name="3.6">3.6</A>) How do I tune the database engine for
+ <H4><A name="3.3">3.3</A>) How do I tune the database engine for
better performance?</H4>
<P>Certainly, indexes 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.7">3.7</A>) What debugging features are
+ <H4><A name="3.4">3.4</A>) What debugging features are
available?</H4>
<P>PostgreSQL has several features that report status information
file will be put in the client's current directory. Linux requires
a compile with <I>-DLINUX_PROFILE</I> for proper profiling.</P>
- <H4><A name="3.8">3.8</A>) Why do I get <I>"Sorry, too many
+ <H4><A name="3.5">3.5</A>) Why do I get <I>"Sorry, too many
clients"</I> when trying to connect?</H4>
<P>You need to increase <I>postmaster</I>'s limit on how many
the number of allowed backend processes is so your system won't run
out of resources.</P>
- <H4><A name="3.9">3.9</A>) What is in the <I>pgsql_tmp</I> directory?</H4>
+ <H4><A name="3.6">3.6</A>) What is in the <I>pgsql_tmp</I> directory?</H4>
<P>This directory contains temporary files generated by the query
executor. For example, if a sort needs to be done to satisfy an
remain if a backend crashes during a sort. A stop and restart of the
<I>postmaster</I> will remove files from those directories.</P>
- <H4><A name="3.10">3.10</A>) Why do I need to do a dump and restore
+ <H4><A name="3.7">3.7</A>) Why do I need to do a dump and restore
to upgrade between major PostgreSQL releases?</H4>
<P>The PostgreSQL team makes only small changes between minor releases,
The release notes mention whether <I>pg_upgrade</I> is available for the
release.</P>
- <H4><A name="3.11">3.11</A>) What computer hardware should I use?</H4>
+ <H4><A name="3.8">3.8</A>) What computer hardware should I use?</H4>
<P>Because PC hardware is mostly compatible, people tend to believe that
all PC hardware is of equal quality. It is not. ECC RAM, SCSI, and