diff --git a/doc/src/sgml/ref/postgres-ref.sgml b/doc/src/sgml/ref/postgres-ref.sgml index ff3b332952..b32ec49af5 100644 --- a/doc/src/sgml/ref/postgres-ref.sgml +++ b/doc/src/sgml/ref/postgres-ref.sgml @@ -1,220 +1,479 @@ -.\" This is -*-nroff-*- -.\" XXX standard disclaimer belongs here.... -.\" $Header: /cvsroot/pgsql/doc/src/sgml/ref/postgres-ref.sgml,v 1.1 1999/05/26 17:25:38 thomas Exp $ -.TH POSTGRESQL UNIX 05/19/99 PostgreSQL PostgreSQL -.SH NAME -postgres - the Postgres backend server -.SH SYNOPSIS -.BR "postgres" -[\c -.BR "-B" -n_buffers] -[\c -.BR "-C" -] -[\c -.BR "-D" -data_directory] -[\c -.BR "-E" -] -[\c -.BR "-F" -] -[\c -.BR "-O" -] -[\c -.BR "-Q" -] -[\c -.BR "-S kbytes" -] -[\c -.BR "-d" -debug_level] -[\c -.BR "-e" -] -[\c -.BR "-o" -output_file] -[\c -.BR "-s" -] -[\c -.BR "-v protocol" -] -[dbname] -.in -5n -.SH DESCRIPTION -The Postgres backend server can be executed directly from the user shell. -This should be done only while debugging by the DBA, and should not be -done while other Postgres backends are being managed by a -.IR postmaster -on this set of databases. -.PP -Some of the switches explained in this man page can be passed to the backend -through the "database options" field of a connection request, and thus can be -set for a particular backend without going to the trouble of restarting the -postmaster. This is particularly handy for debugging-related switches. -.PP -The optional argument -.IR dbname -specifies the name of the database to be accessed. -.IR Dbname -defaults to the value of the -.SM USER -environment variable. -.PP -The -.IR postgres -server understands the following command-line options: -.TP -.BR "-B" " n_buffers" -If the backend is running under the -.IR postmaster , -.IR "n_buffers" -is the number of shared-memory buffers that the -.IR "postmaster" -has allocated for the backend server processes that it starts. If the -backend is running standalone, this specifies the number of buffers to -allocate. This value defaults to 64 buffers, where each buffer is 8k bytes -(or whatever BLCKSZ is set to in config.h). -.TP -.BR "-C" -Do not show server version number. -.TP -.BR "-D" " data_directory" -This option specifies the pathname of the directory that contains the -database system data (the tables, the catalogs, etc.). If you don't -specify this option, Postgres uses the value of the PGDATA environment -variable. You must either specify a -D option or set PGDATA. - -The data directory pathname for a database system is normally determined when -the database system is created with -.IR initdb , -with a --pgdata option to -.IR initdb . -.TP -.BR "-E" -Echo all queries. -.TP -.BR "-F" -Disable automatic fsync() call after each transaction. -This option improves performance, but an operating system crash -while a transaction is in progress will probably cause data loss. -.TP -.BR "-O" -Override restrictions, so system table structures can be modified(pg_*). -.TP -.BR "-Q" -Specifies \*(lqquiet\*(rq mode. -.TP -.BR "-S" " kbytes" -Specifies the amount of memory to be used by internal sorts and hashes -before resorting to temporary disk files. The value is specified in -kilobytes, and defaults to 512 kilobytes. Note that for a complex query, -several sorts and/or hashes might be running in parallel, and each one -will be allowed to use as much as -S kilobytes before it starts to put -data into temporary files. -.TP -.BR "-e" -The -.IR "-e" -option controls how dates are input to and output from the database. -.IP -If the -.IR "-e" -option is supplied, then all dates passed to and from the frontend -processes will be assumed to be in -.IR "European" -format ie. -.IR "DD-MM-YYYY" -otherwise dates are input and output in -.IR "American" -format ie. -.IR "MM-DD-YYYY" -.TP -.BR "-d" " debug_level" -Turns on debugging at the numeric level -.IR "debug_level" . -Turning on debugging will cause query, parse trees, and query plans to -be displayed. -.TP -.BR "-o" " output_file" -Sends all debugging and error output to -.IR output_file . -If the backend is running under the -.IR postmaster , -error messages are still sent to the frontend process as well as to -.IR output_file , -but debugging output is sent to the controlling tty of the -.IR postmaster -(since only one file descriptor can be sent to an actual file). -.TP -.BR "-s" -Print time information and other statistics at the end of each query. -This is useful for benchmarking or for use in tuning the number of -buffers. -.TP -.BR "-v" " protocol" -Specifies the number of the frontend/backend protocol to be used for this -particular session. -.SH "DEVELOPER COMMAND OPTIONS" -There are several other options that may be specified, used mainly -for debugging purposes. These are listed here only for the use by -Postgres system developers. -.BR "Use of any of these options is highly discouraged" . -Furthermore, any of these options may disappear or change at any time. -.TP -.BR "-A" "n|r|b|Q\fIn\fP|X\fIn\fP" -.IP -This option generates a tremendous amount of output. -.TP -.BR "-L" -Turns off the locking system. -.TP -.BR "-N" -Disables use of newline as a query delimiter. -.TP -.BR "-f" -Forbids the use of particular scan and join methods: -.IR s " and " i -disable sequential and index scans respectively, while -.IR n ", " m " and " h -disable nested-loop, merge and hash joins respectively. -(Neither sequential scans nor nested-loop joins can be disabled completely; -the -fs and -fn options simply discourage the optimizer from using those -plan types if it has any other alternative.) -.TP -.BR "-i" -Prevents query execution, but shows the plan tree. -.TP -.BR "-p" " databasename" -Indicates to the backend server that it has been started by a -.IR postmaster -and make different assumptions about buffer pool management, file -descriptors, etc. Switches following -p are restricted to those -considered "secure". -.TP -.BR "-t" "pa[rser]|pl[anner]|e[xecutor]" -Print timing statistics for each query relating to each of the major -system modules. This option cannot be used with -.BR "-s" . -.SH "SEE ALSO" -ipcclean(1), -psql(1), -postmaster(1). -.SH "DIAGNOSTICS" -Of the nigh-infinite number of error messages you may see when you -execute the backend server directly, the most common will probably be: -.TP -.BR "semget: No space left on device" -If you see this message, you should run the -.IR ipcclean -command. After doing this, try starting -.IR postgres -again. If this still doesn't work, you probably need to configure -your kernel for shared memory and semaphores as described in the -installation notes. + + + + postgres + + Application + + + + postgres + + + Run a Postgres single-user backend + + + + + 1999-05-19 + + +postgres [ dbname ] +postgres [ -B nBuffers ] [ -C ] [ -D DataDir ] [ -E ] [ -F ] + [ -O ] [ -Q ] [ -S SortSize ] [ -d [ DebugLevel ] ] [ -e ] + [ -o ] [ OutputFile ] [ -s ] [ -v protocol ] [ dbname ] + + + + + 1999-05-19 + + + Inputs + + + postgres accepts the following command line arguments: + + + + + dbname + + + + The optional argument + dbname + specifies the name of the database to be accessed. + dbname + defaults to the value of the + USER + environment variable. + + + + + + + -B nBuffers + + + + If the backend is running under the + postmaster, + nBuffers + is the number of shared-memory buffers that the + postmaster + has allocated for the backend server processes that it starts. If the + backend is running standalone, this specifies the number of buffers to + allocate. This value defaults to 64 buffers, where each buffer is 8k bytes + (or whatever BLCKSZ is set to in config.h). + + + + + + + -C + + + + Do not show the server version number. + + + + + + + -D DataDir + + + + Specifies the directory to use as the root of the tree of database + directories. If -D is not given, the default data directory name is + the value of the environment variable + PGDATA. + If PGDATA is not set, then the directory used is + $POSTGRESHOME/data. + If neither environment variable is set and this command-line + option is not specified, the default directory that was + set at compile-time is used. + + + + + + + -E + + + + Echo all queries. + + + + + + + -F + + + + Disable an automatic fsync() call after each transaction. + This option improves performance, but an operating system crash + while a transaction is in progress may cause the loss of + the most recently entered data. Without the fsync() call + the data is buffered by the operating system, and written to disk sometime later. + + + + + + + -O + + + + Override restrictions, so system table structures can be modified. + These tables are typically those with a leading "pg_" in the table name. + + + + + + + -Q + + + + Specifies "quiet" mode. + + + + + + + -S SortSize + + + + Specifies the amount of memory to be used by internal sorts and hashes + before resorting to temporary disk files. The value is specified in + kilobytes, and defaults to 512 kilobytes. Note that for a complex query, + several sorts and/or hashes might be running in parallel, and each one + will be allowed to use as much as + SortSize kilobytes + before it starts to put data into temporary files. + + + + + + + -d [ DebugLevel ] + + + + The optional argument DebugLevel + determines the amount of debugging output the backend servers will + produce. + If DebugLevel + is one, the postmaster will trace all connection traffic, + and nothing else. + For levels two and higher, + debugging is turned on in the backend process and the postmaster + displays more information, + including the backend environment and process traffic. + Note that if no file is specified for backend servers to + send their debugging output then this output will appear on the + controlling tty of their parent postmaster. + + + + + + + -e + + + + This option controls how dates are interpreted upon + input to and output from the database. + If the + option is supplied, then dates passed to and from the frontend + processes will be assumed to be in "European" + format (DD-MM-YYYY), + otherwise dates are assumed to be in + "American" format (MM-DD-YYYY). + Dates are accepted by the backend in a wide variety of formats, + and for input dates this switch mostly affects the interpretation + for ambiguous cases. See + for more information. + + + + + + + -o OutputFile + + + + Sends all debugging and error output to + OutputFile. + If the backend is running under the postmaster, + error messages are still sent to the frontend process as well as to + OutputFile, + but debugging output is sent to the controlling tty of the + postmaster + (since only one file descriptor can be sent to an actual file). + + + + + + + -s + + + + Print time information and other statistics at the end of each query. + This is useful for benchmarking or for use in tuning the number of + buffers. + + + + + + + -v protocol + + + + Specifies the number of the frontend/backend protocol to be used for this + particular session. + + + + + + + + There are several other options that may be specified, used mainly + for debugging purposes. These are listed here only for the use by + Postgres system developers. + Use of any of these options is highly discouraged. + Furthermore, any of these options may disappear or change at any time. + + + + These special-case options are: + + + + + -A n|r|b|Q\fIn\fP|X\fIn\fP + + + + This option generates a tremendous amount of output. + + + + + + + -L + + + + Turns off the locking system. + + + + + + + -N + + + + Disables use of newline as a query delimiter. + + + + + + + -f [ s | i | m | n | h ] + + + + Forbids the use of particular scan and join methods: + s and i + disable sequential and index scans respectively, while + n, m, and h + disable nested-loop, merge and hash joins respectively. + + + + Neither sequential scans nor nested-loop joins can be disabled completely; + the -fs and -fn + options simply discourage the optimizer from using those + plan types if it has any other alternative. + + + + + + + + + -i + + + + Prevents query execution, but shows the plan tree. + + + + + + + -p dbname + + + + Indicates to the backend server that it has been started by a + postmaster + and make different assumptions about buffer pool management, file + descriptors, etc. Switches following -p are restricted to those + considered "secure". + + + + + + + -t pa[rser] | pl[anner] | e[xecutor] + + + + Print timing statistics for each query relating to each of the major + system modules. This option cannot be used with . + + + + + + + + + + 1999-05-19 + + + Outputs + + + Of the nigh-infinite number of error messages you may see when you + execute the backend server directly, the most common will probably be: + + + + + semget: No space left on device + + + + If you see this message, you should run the + ipcclean + command. After doing this, try starting + postmaster + again. If this still doesn't work, you probably need to configure + your kernel for shared memory and semaphores as described in the + installation notes. If you have a kernel with particularly small shared memory + and/or semaphore limits, you may have to reconfigure your kernel to increase + its shared memory or semaphore parameters. + + + + You may be able to postpone + reconfiguring your kernel by decreasing -B to reduce + Postgres' shared memory + consumption. + + + + + + + + + + + + + 1999-05-19 + + + Description + + + + The Postgres backend server can be executed directly from the user shell. + This should be done only while debugging by the DBA, and should not be + done while other Postgres backends are being managed by a + postmaster + on this set of databases. + + + + Some of the switches explained here can be passed to the backend + through the "database options" field of a connection request, and thus can be + set for a particular backend without going to the trouble of restarting the + postmaster. This is particularly handy for debugging-related switches. + + + + The optional argument dbname + specifies the name of the database to be accessed. + dbname + defaults to the value of the + USER environment variable. + + + + + + 1998-10-04 + + + Notes + + + + Useful utilities for dealing with shared memory problems include + ipcs(1), + ipcrm(1), and + ipcclean(1). + See also . + + + + + diff --git a/doc/src/sgml/ref/postmaster.sgml b/doc/src/sgml/ref/postmaster.sgml index 16f318c814..3d628f5311 100644 --- a/doc/src/sgml/ref/postmaster.sgml +++ b/doc/src/sgml/ref/postmaster.sgml @@ -6,7 +6,7 @@ Application - + postmaster @@ -18,10 +18,9 @@ 1999-05-19 -postmaster [ -B nBuffers ] - [ -D DataDir ] [-N nBackends ] [ -S ] - [ -d [ DebugLevel ] ] - [ -i ] [ -o BackendOptions ] [ -p port ] +postmaster [ -B nBuffers ] [ -D DataDir ] [ -i ] +postmaster [ -B nBuffers ] [ -D DataDir ] [ -N nBackends ] [ -S ] + [ -d [ DebugLevel ] [ -i ] [ -o BackendOptions ] [ -p port ] postmaster [ -n | -s ] ... @@ -206,10 +205,8 @@ postmaster [ -n | -s ] ... - If the -n - option is supplied, then the postmaster - does not reinitialize shared data structures. A knowledgable system + will not reinitialize shared data structures. A knowledgable system programmer can then use the shmemdoc program to examine shared memory and semaphore state. @@ -235,7 +232,7 @@ postmaster [ -n | -s ] ... - + 1999-05-19 @@ -388,8 +385,9 @@ on BSD-based systems, or You can run more than one postmaster on a machine only if each one has a separate directory and port number. + - + 1998-10-04 @@ -434,7 +432,7 @@ or its alternative form - + 1998-10-04 @@ -478,7 +476,7 @@ or its alternative form % setenv PGPORT 1234 % psql . - +