11
22 Frequently Asked Questions (FAQ) for PostgreSQL
33
4- Last updated:Fri Jun4 23:30:19 EDT 1999
4+ Last updated:Sat Jun5 14:22:43 EDT 1999
55
66 Current maintainer: Bruce Momjian (maillist@candle.pha.pa.us)
77
1313
1414 Irix-specific questions are answered in
1515 http://postgreSQL.org/docs/faq-irix.html.
16+
17+ HPUX-specific questions are answered in
18+ http://postgreSQL.org/docs/faq-hpux.shtml.
1619 _________________________________________________________________
1720
1821 General questions
@@ -141,13 +144,13 @@ Section 1: General Questions
141144 1.2) What does PostgreSQL run on?
142145
143146 The authors have compiled and tested PostgreSQL on the following
144- platforms(some of these compiles require gcc 2.7.0 ):
147+ platforms (some of these compiles require gcc):
145148 * aix - IBM on AIX 3.2.5 or 4.x
146149 * alpha - DEC Alpha AXP on Digital Unix 2.0, 3.2, 4.0
147150 * BSD44_derived - OSs derived from 4.4-lite BSD (NetBSD, FreeBSD)
148151 * bsdi - BSD/OS 2.x, 3.x, 4.x
149152 * dgux - DG/UX 5.4R4.11
150- * hpux - HP PA-RISC on HP-UX 9.0 , 10
153+ * hpux - HP PA-RISC on HP-UX 9.* , 10.*
151154 * i386_solaris - i386 Solaris
152155 * irix5 - SGI MIPS on IRIX 5.3
153156 * linux - Intel x86 on Linux 2.0 and Linux ELF SPARC on Linux ELF
@@ -203,9 +206,9 @@ Section 1: General Questions
203206 California, Berkeley. It is maintained through volunteer effort.
204207
205208 The main mailing list is: pgsql-general@postgreSQL.org. It is
206- available for discussion of matters pertaining to PostgreSQL, For info
207- on how to subscribe, send a mail with the lines in the body (not the
208- subject line)
209+ available for discussion of matters pertaining to PostgreSQL. To
210+ subscribe, send a mail with the lines in the body (not the subject
211+ line)
209212
210213 subscribe
211214 end
@@ -221,9 +224,13 @@ Section 1: General Questions
221224 Digests are sent out to members of this list whenever the main list
222225 has received around 30k of messages.
223226
224- The bugs mailing list available. To subscribe to this list, send email
225- to bugs-request@postgreSQL.org with a BODY of:
227+ The bugs mailing listis available. To subscribe to this list, send
228+ email to bugs-request@postgreSQL.org with a BODY of:
226229
230+
231+ subscribe
232+ end
233+
227234 There is also a developers discussion mailing list available. To
228235 subscribe to this list, send email to hackers-request@postgreSQL.org
229236 with a BODY of:
@@ -237,7 +244,7 @@ Section 1: General Questions
237244
238245 http://postgreSQL.org
239246
240- There also an IRC channel on EFNet, channel #PostgreSQL. I use the
247+ Thereis also an IRC channel on EFNet, channel #PostgreSQL. I use the
241248 unix command irc -c '#PostgreSQL' "$USER" irc.phoenix.net
242249
243250 1.6) Latest release of PostgreSQL
@@ -368,8 +375,10 @@ Section 2: Installation Questions
368375
369376 2.4) How do I install PostgreSQL somewhere other than /usr/local/pgsql?
370377
371- You need to edit Makefile.global and change POSTGRESDIR accordingly,
372- or create a Makefile.custom and define POSTGRESDIR there.
378+ The simplest way is to specify the --prefix option when running
379+ configure. If you forgot to do that, you can edit Makefile.global and
380+ change POSTGRESDIR accordingly, or create a Makefile.custom and define
381+ POSTGRESDIR there.
373382
374383 2.5) When I run postmaster, I get a Bad System Call core dumped message.
375384
@@ -394,13 +403,13 @@ Section 2: Installation Questions
394403 2.8) How do I prevent other hosts from accessing my PostgreSQL database?
395404
396405 By default, PostgreSQL only allows connections from the local machine
397- using unix domain sockets.You must add the -i flag tothe postmaster,
398- and enable host-based authentication by modifying thefile
399- $PGDATA/pg_hba accordingly.
406+ using unix domain sockets.Other machines will not be able toconnect
407+ unless you add the -i flag to thepostmaster, and enable host-based
408+ authentication by modifying the file $PGDATA/pg_hba.conf accordingly.
400409
401410 2.9) I can't access the database as the root user.
402411
403- You should not create database users with user id 0(root). They will
412+ You should not create database users with user id 0 (root). They will
404413 be unable to access the database. This is a security precaution
405414 because of the ability of any user to dynamically link object modules
406415 into the database engine.
@@ -430,12 +439,15 @@ Section 2: Installation Questions
430439
431440 You can also use the postmaster -B option to increase the number of
432441 shared memory buffers used by the backend processes. If you make this
433- parameter too high, the backends will not start or crash unexpectedly.
434- Each buffer is 8K and the default is 64 buffers.
442+ parameter too high, the postmaster may not start up because you've
443+ exceeded your kernel's limit on shared memory space. Each buffer is 8K
444+ and the default is 64 buffers.
435445
436- You can also use the postgres -S option to increase the maximum amount
437- of memory used by each backend process for temporary sorts. Each
438- buffer is 1K and the default is 512 buffers.
446+ You can also use the backend -S option to increase the maximum amount
447+ of memory used by each backend process for temporary sorts. The -S
448+ value is measured in kilobytes, and the default is 512 (ie, 512K). It
449+ is unwise to make this value too large, or you may run out of memory
450+ when a query invokes several concurrent sorts.
439451
440452 You can also use the cluster command to group data in base tables to
441453 match an index. See the cluster(l) manual page for more details.
@@ -445,7 +457,7 @@ Section 2: Installation Questions
445457 PostgreSQL has several features that report status information that
446458 can be valuable for debugging purposes.
447459
448- First, by running configure with the -enable-cassert option, many
460+ First, by running configure with the -- enable-cassert option, many
449461 assert()'s monitor the progress of the backend and halt the program
450462 when something unexpected occurs.
451463
@@ -461,7 +473,7 @@ Section 2: Installation Questions
461473 encountered by the server. Postmaster has a -d option that allows even
462474 more detailed information to be reported. The -d option takes a number
463475 that specifies the debug level. Be warned that high debug level values
464- generates large log files.
476+ generate large log files.
465477
466478 You can actually run the postgres backend from the command line, and
467479 type your SQL statement directly. This is recommended only for
@@ -473,8 +485,8 @@ Section 2: Installation Questions
473485 operating system can attach to a running backend directly to diagnose
474486 problems.
475487
476- The postgres program hasa -s, -A, -t options that can be very useful
477- for debugging and performance measurements.
488+ The postgres program has -s, -A,and -t options that can be very
489+ useful for debugging and performance measurements.
478490
479491 You can also compile with profiling to see what functions are taking
480492 execution time. The backend profile files will be deposited in the
@@ -684,21 +696,24 @@ BYTEA bytea variable-length array of bytes
684696 you need to use pgdump's -o option or copy with oids option to
685697 preserve the oids.
686698
687- 3.14) What are thepg_psort.XXX files in my database directory?
699+ 3.14) What are thepg_tempNNN.NN files in my database directory?
688700
689- They are temporary sort files generated by the query executor. For
690- example, if a sort needs to be done to satisfy an order by, some temp
691- files are generated as a result of the sort.
701+ They are temporary files generated by the query executor. For example,
702+ if a sort needs to be done to satisfy an order by, and the sort
703+ requires more space than the backend's -S parameter allows, then temp
704+ files are created to hold the extra data.
692705
693- If you have no transactions or sorts running at the time, it is safe
694- to delete the pg_psort.XXX files.
706+ The temp files should go away automatically, but might not if a
707+ backend crashes during a sort. If you have no transactions running at
708+ the time, it is safe to delete the pg_tempNNN.NN files.
695709
696710 3.15) Why can't I connect to my database from another machine?
697711
698712 The default configuration allows only unix domain socket connections
699- from the local machine. To enable TCP/IP connections, use the
700- postmaster -i option You need to add a host entry to the file
701- pgsql/data/pg_hba. See the pg_hba.conf manual page.
713+ from the local machine. To enable TCP/IP connections, make sure the
714+ postmaster has been started with the -i option, and add an appropriate
715+ host entry to the file pgsql/data/pg_hba.conf. See the pg_hba.conf
716+ manual page.
702717
703718 3.16) How do I find out what indices or operations are defined in the
704719 database?
@@ -776,7 +791,7 @@ BYTEA bytea variable-length array of bytes
776791
777792 See the fetch manual page.
778793
779- This only prevents all row results from beingtransfered to the
794+ This only prevents all row results from beingtransferred to the
780795 client. The entire query must be evaluated, even if you only want just
781796 the first few rows. Consider a query that has an order by. There is no
782797 way to return any rows until the entire query is evaluated and sorted.
@@ -811,8 +826,11 @@ being indexed, so they can be large also.
811826
812827 3.23) How do I get a list of tables, or other things I can see in psql?
813828
814- See the file pgsql/src/bin/psql/psql.c. It contains SQL commands that
815- generate the output for psql's backslash commands.
829+ You can read the source code for psql, file pgsql/src/bin/psql/psql.c.
830+ It contains SQL commands that generate the output for psql's backslash
831+ commands. Beginning in Postgres 6.5, you can also start psql with the
832+ -E option so that it will print out the queries it uses to execute the
833+ commands you give.
816834
817835 3.24) Why do I get the error "FATAL: palloc failure: memory exhausted?"
818836
@@ -826,7 +844,7 @@ being indexed, so they can be large also.
826844 Depending on your shell, only one of these may succeed, but it will
827845 set your process data segment limit much higher and perhaps allow the
828846 query to complete. This command applies to the current process, and
829- all subprocesses created after the command is run. If are having a
847+ all subprocesses created after the command is run. Ifyou are having a
830848 problem with the SQL client because the backend is returning too much
831849 data, try it before starting the client.
832850