diff options
author | Peter Eisentraut <peter_e@gmx.net> | 2006-01-05 10:07:46 +0000 |
---|---|---|
committer | Peter Eisentraut <peter_e@gmx.net> | 2006-01-05 10:07:46 +0000 |
commit | 86c23a6eb28b0588644dcefeb33ef5a2aa8b9453 (patch) | |
tree | d0497d119ef7cf861fc046c58326a42e47c16c39 /doc/src | |
parent | 4e1712ea5499ad57d825eefa08e560dad715300c (diff) |
Make all command-line options of postmaster and postgres the same. See
http://archives.postgresql.org/pgsql-hackers/2006-01/msg00151.php for the
complete plan.
Diffstat (limited to 'doc/src')
-rw-r--r-- | doc/src/sgml/config.sgml | 137 | ||||
-rw-r--r-- | doc/src/sgml/ref/postgres-ref.sgml | 259 | ||||
-rw-r--r-- | doc/src/sgml/ref/postmaster.sgml | 189 |
3 files changed, 283 insertions, 302 deletions
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index acc1ec99c37..293ee355827 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -1,5 +1,5 @@ <!-- -$PostgreSQL: pgsql/doc/src/sgml/config.sgml,v 1.41 2005/12/27 23:54:01 adunstan Exp $ +$PostgreSQL: pgsql/doc/src/sgml/config.sgml,v 1.42 2006/01/05 10:07:44 petere Exp $ --> <chapter Id="runtime-config"> <title>Server Configuration</title> @@ -2407,8 +2407,7 @@ SELECT * FROM parent WHERE key = 2400; <para> Runs the server silently. If this option is set, the server will automatically run in background and any controlling - terminals are disassociated (same effect as - <command>postmaster</>'s <option>-S</option> option). + terminals are disassociated. The server's standard output and standard error are redirected to <literal>/dev/null</>, so any messages sent to them will be lost. Unless <application>syslog</> logging is selected or @@ -4054,6 +4053,19 @@ plruby.use_strict = true # generates error: unknown class name </para> <variablelist> + <varlistentry id="guc-allow-system-table-mods" xreflabel="allow_system_table_mods"> + <term><varname>allow_system_table_mods</varname> (<type>boolean</type>)</term> + <indexterm> + <primary><varname>allow_system_table_mods</varname> configuration parameter</primary> + </indexterm> + <listitem> + <para> + Allows the modification of the structure of system tables. + This is used by <command>initdb</command>. + </para> + </listitem> + </varlistentry> + <varlistentry id="guc-debug-assertions" xreflabel="debug_assertions"> <term><varname>debug_assertions</varname> (<type>boolean</type>)</term> <indexterm> @@ -4075,6 +4087,35 @@ plruby.use_strict = true # generates error: unknown class name </listitem> </varlistentry> + <varlistentry id="guc-ignore-system-indexes" xreflabel="ignore_system_indexes"> + <term><varname>ignore_system_indexes</varname> (<type>boolean</type>)</term> + <indexterm> + <primary><varname>ignore_system_indexes</varname> configuration parameter</primary> + </indexterm> + <listitem> + <para> + Ignore system indexes when reading system tables (but still + update the indexes when modifying the tables). This is useful + when recovering from damaged system indexes. + </para> + </listitem> + </varlistentry> + + <varlistentry id="guc-post-auth-delay" xreflabel="post_auth_delay"> + <term><varname>post_auth_delay</varname> (<type>integer</type>)</term> + <indexterm> + <primary><varname>post_auth_delay</> configuration parameter</primary> + </indexterm> + <listitem> + <para> + If nonzero, a delay of this many seconds occurs when a new + server process is started, after it conducts the + authentication procedure. This is intended to give an + opportunity to attach to the server process with a debugger. + </para> + </listitem> + </varlistentry> + <varlistentry id="guc-pre-auth-delay" xreflabel="pre_auth_delay"> <term><varname>pre_auth_delay</varname> (<type>integer</type>)</term> <indexterm> @@ -4082,11 +4123,11 @@ plruby.use_strict = true # generates error: unknown class name </indexterm> <listitem> <para> - If nonzero, a delay of this many seconds occurs just after a new - server process is forked, before it conducts the authentication - process. This is intended to give an opportunity to attach to the - server process with a debugger to trace down misbehavior in - authentication. + If nonzero, a delay of this many seconds occurs just after a + new server process is forked, before it conducts the + authentication procedure. This is intended to give an + opportunity to attach to the server process with a debugger to + trace down misbehavior in authentication. </para> </listitem> </varlistentry> @@ -4182,9 +4223,12 @@ plruby.use_strict = true # generates error: unknown class name <title>Short Options</title> <para> - For convenience there are also single letter command-line option switches - available for some parameters. They are described in <xref - linkend="runtime-config-short-table">. + For convenience there are also single letter command-line option + switches available for some parameters. They are described in + <xref linkend="runtime-config-short-table">. Some of these + options exist for historical reasons, and their presence as a + single-letter option does not necessarily indicate an endorsement + to use the option heavily. </para> <table id="runtime-config-short-table"> @@ -4199,6 +4243,10 @@ plruby.use_strict = true # generates error: unknown class name <tbody> <row> + <entry><option>-A <replaceable>x</replaceable></option></entry> + <entry><literal>debug_assertions = <replaceable>x</replaceable></></entry> + </row> + <row> <entry><option>-B <replaceable>x</replaceable></option></entry> <entry><literal>shared_buffers = <replaceable>x</replaceable></></entry> </row> @@ -4207,6 +4255,26 @@ plruby.use_strict = true # generates error: unknown class name <entry><literal>log_min_messages = DEBUG<replaceable>x</replaceable></></entry> </row> <row> + <entry><option>-e</option></entry> + <entry><literal>datestyle = euro</></entry> + </row> + <row> + <entry> + <option>-fb</option>, <option>-fh</option>, <option>-fi</option>, + <option>-fm</option>, <option>-fn</option>, + <option>-fs</option>, <option>-ft</option> + </entry> + <entry> + <literal>enable_bitmapscan = off</>, + <literal>enable_hashjoin = off</>, + <literal>enable_indexscan = off</>, + <literal>enable_mergejoin = off</>, + <literal>enable_nestloop = off</>, + <literal>enable_seqscan = off</>, + <literal>enable_tidscan = off</> + </entry> + </row> + <row> <entry><option>-F</option></entry> <entry><literal>fsync = off</></entry> </row> @@ -4231,56 +4299,35 @@ plruby.use_strict = true # generates error: unknown class name <entry><literal>max_connections = <replaceable>x</replaceable></></entry> </row> <row> + <entry><option>-O</option></entry> + <entry><literal>allow_system_table_mods = on</></entry> + </row> + <row> <entry><option>-p <replaceable>x</replaceable></option></entry> <entry><literal>port = <replaceable>x</replaceable></></entry> </row> - <row> - <entry> - <option>-fb</option>, <option>-fh</option>, <option>-fi</option>, - <option>-fm</option>, <option>-fn</option>, - <option>-fs</option>, <option>-ft</option><footnote - id="fn.runtime-config-short"> - <para> - For historical reasons, these options must be passed to - the individual server process via the <option>-o</option> - <command>postmaster</command> option, for example, -<screen> -$ <userinput>postmaster -o '-S 1024 -s'</userinput> -</screen> - or via <envar>PGOPTIONS</envar> from the client side, as - explained above. - </para> - </footnote> - </entry> - <entry> - <literal>enable_bitmapscan = off</>, - <literal>enable_hashjoin = off</>, - <literal>enable_indexscan = off</>, - <literal>enable_mergejoin = off</>, - <literal>enable_nestloop = off</>, - <literal>enable_seqscan = off</>, - <literal>enable_tidscan = off</> - </entry> + <entry><option>-P</option></entry> + <entry><literal>ignore_system_indexes = on</></entry> </row> - <row> - <entry><option>-s</option><footnoteref linkend="fn.runtime-config-short"></entry> + <entry><option>-s</option></entry> <entry><literal>log_statement_stats = on</></entry> </row> - <row> - <entry><option>-S <replaceable>x</replaceable></option><footnoteref linkend="fn.runtime-config-short"> - </entry> + <entry><option>-S <replaceable>x</replaceable></option></entry> <entry><literal>work_mem = <replaceable>x</replaceable></></entry> </row> - <row> - <entry><option>-tpa</option>, <option>-tpl</option>, <option>-te</option><footnoteref linkend="fn.runtime-config-short"></entry> + <entry><option>-tpa</option>, <option>-tpl</option>, <option>-te</option></entry> <entry><literal>log_parser_stats = on</>, <literal>log_planner_stats = on</>, <literal>log_executor_stats = on</></entry> </row> + <row> + <entry><option>-W <replaceable>x</replaceable></option></entry> + <entry><literal>post_auth_delay = <replaceable>x</replaceable></></entry> + </row> </tbody> </tgroup> </table> diff --git a/doc/src/sgml/ref/postgres-ref.sgml b/doc/src/sgml/ref/postgres-ref.sgml index 4baecaf2eda..1cf8521bebb 100644 --- a/doc/src/sgml/ref/postgres-ref.sgml +++ b/doc/src/sgml/ref/postgres-ref.sgml @@ -1,5 +1,5 @@ <!-- -$PostgreSQL: pgsql/doc/src/sgml/ref/postgres-ref.sgml,v 1.45 2004/11/15 06:32:15 neilc Exp $ +$PostgreSQL: pgsql/doc/src/sgml/ref/postgres-ref.sgml,v 1.46 2006/01/05 10:07:44 petere Exp $ PostgreSQL documentation --> @@ -21,53 +21,9 @@ PostgreSQL documentation <refsynopsisdiv> <cmdsynopsis> - <!-- standalone call --> <command>postgres</command> - <arg>-A <group choice="plain"><arg>0</arg><arg>1</arg></group></arg> - <arg>-B <replaceable>nbuffers</replaceable></arg> - <arg>-c <replaceable>name</replaceable>=<replaceable>value</replaceable></arg> - <arg>-d <replaceable>debug-level</replaceable></arg> - <arg>--describe-config</arg> - <arg>-D <replaceable>datadir</replaceable></arg> - <arg>-e</arg> - <arg>-E</arg> - <arg>-f<group choice="plain"><arg>s</arg><arg>i</arg><arg>t</arg><arg>n</arg><arg>m</arg><arg>h</arg></group></arg> - <arg>-F</arg> - <arg>-N</arg> - <arg>-o <replaceable>filename</replaceable></arg> - <arg>-O</arg> - <arg>-P</arg> - <group> - <arg>-s</arg> - <arg>-t<group choice="plain"><arg>pa</arg><arg>pl</arg><arg>ex</arg></group></arg> - </group> - <arg>-S <replaceable>work-mem</replaceable></arg> - <arg>-W <replaceable>seconds</replaceable></arg> - <arg>--<replaceable>name</replaceable>=<replaceable>value</replaceable></arg> + <arg rep="repeat"><replaceable>option</></arg> <arg choice="plain"><replaceable>database</replaceable></arg> - <sbr> - <!-- postmaster fork --> - <command>postgres</command> - <arg>-A <group choice="plain"><arg>0</arg><arg>1</arg></group></arg> - <arg>-B <replaceable>nbuffers</replaceable></arg> - <arg>-c <replaceable>name</replaceable>=<replaceable>value</replaceable></arg> - <arg>-d <replaceable>debug-level</replaceable></arg> - <arg>-D <replaceable>datadir</replaceable></arg> - <arg>-e</arg> - <arg>-f<group choice="plain"><arg>s</arg><arg>i</arg><arg>t</arg><arg>n</arg><arg>m</arg><arg>h</arg></group></arg> - <arg>-F</arg> - <arg>-o <replaceable>filename</replaceable></arg> - <arg>-O</arg> - <arg>-p <replaceable>database</replaceable></arg> - <arg>-P</arg> - <group> - <arg>-s</arg> - <arg>-t<group choice="plain"><arg>pa</arg><arg>pl</arg><arg>ex</arg></group></arg> - </group> - <arg>-S <replaceable>work-mem</replaceable></arg> - <arg>-v <replaceable>protocol</replaceable></arg> - <arg>-W <replaceable>seconds</replaceable></arg> - <arg>--<replaceable>name</replaceable>=<replaceable>value</replaceable></arg> </cmdsynopsis> </refsynopsisdiv> @@ -77,23 +33,21 @@ PostgreSQL documentation <para> The <command>postgres</command> executable is the actual <productname>PostgreSQL</productname> server process that processes - queries. It is normally not called directly; instead a <xref - linkend="app-postmaster"> multiuser server is started. - </para> - - <para> - The second form above is how - <command>postgres</command> is invoked by the <xref - linkend="app-postmaster"> (only - conceptually, since both <filename>postmaster</filename> and - <filename>postgres</filename> are in fact the same program); it - should not be invoked directly this way. The first form invokes - the server directly in interactive single-user mode. The primary use - for this mode is during bootstrapping by <xref linkend="app-initdb">. - Sometimes it is used for debugging or disaster recovery. + SQL statements. It is normally not called directly; instead a + <xref linkend="app-postmaster"> multiuser server is started. + Conceptually, the <command>postmaster</command> starts a new + <command>postgres</command> process for each connection. + (<filename>postmaster</filename> and <filename>postgres</filename> + are in fact the same program, and on most platforms the connection + process is forked). </para> <para> + If the <command>postgres</command> command is called directly, it + invokes the server in interactive single-user mode. The primary + use for this mode is during bootstrapping by <xref + linkend="app-initdb">. Sometimes it is used for debugging or + disaster recovery. When invoked in interactive mode from the shell, the user can enter queries and the results will be printed to the screen, but in a form that is more useful for developers than end users. But note @@ -117,11 +71,9 @@ PostgreSQL documentation <para> When <command>postgres</command> is started by a <xref - linkend="app-postmaster"> then it - inherits all options set by the latter. Additionally, - <command>postgres</command>-specific options can be passed - from the <command>postmaster</command> with the - <option>-o</option> switch. + linkend="app-postmaster"> then it inherits all options set by the + latter. In single-user mode, <command>postgres</command> accepts + all the options that <command>postmaster</command> would accept. </para> <para> @@ -141,74 +93,17 @@ PostgreSQL documentation <para> The options <option>-A</option>, <option>-B</option>, <option>-c</option>, <option>-d</option>, <option>-D</option>, - <option>-F</option>, and <option>--<replaceable>name</></option> have the same meanings - as the <xref linkend="app-postmaster"> except that - <literal>-d 0</> prevents the server log level of - the <command>postmaster</> from being propagated to <command>postgres</>. + <option>-e</option>, <option>-F</option>, <option>-s</option>, + <option>-S</option>, and <option>--<replaceable>name</></option> + have the same meanings as with the <xref linkend="app-postmaster"> + except that <literal>-d 0</> prevents the server log level of the + <command>postmaster</> from being propagated to + <command>postgres</>. Other <command>postmaster</command> + options are also accepted but will have no noticeable effect + because they only apply to the multiuser server mode, namely + <option>-h</option>, <option>-i</option>, <option>-k</option>, + <option>-l</option>, and <option>-n</option>. </para> - - <variablelist> - <varlistentry> - <term><option>-e</option></term> - <listitem> - <para> - Sets the default date style to <quote>European</quote>, that is - <literal>DMY</> ordering of input date fields. This also causes - the day to be printed before the month in certain date output formats. - See <xref linkend="datatype-datetime"> for more information. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-o</option> <replaceable class="parameter">filename</replaceable></term> - <listitem> - <para> - Send all server log output to - <replaceable class="parameter">filename</replaceable>. - If <command>postgres</command> is running under the - <command>postmaster</command>, this option is ignored, - and the <systemitem>stderr</> inherited from the - <command>postmaster</command> is used. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-P</option></term> - <listitem> - <para> - Ignore system indexes when reading system tables (but still update - the indexes when modifying the tables). This is useful when - recovering from damaged system indexes. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-s</option></term> - <listitem> - <para> - Print time information and other statistics at the end of each command. - This is useful for benchmarking or for use in tuning the number of - buffers. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-S</option> <replaceable class="parameter">work-mem</replaceable></term> - <listitem> - <para> - Specifies the amount of memory to be used by internal sorts and hashes - before resorting to temporary disk files. See the description of the - <varname>work_mem</> configuration parameter in <xref - linkend="runtime-config-resource-memory">. - </para> - </listitem> - </varlistentry> - - </variablelist> </refsect2> <refsect2> @@ -235,83 +130,41 @@ PostgreSQL documentation </varlistentry> <varlistentry> - <term><option>-N</option></term> + <term><option>-j</option></term> <listitem> <para> Disables use of newline as a statement delimiter. </para> </listitem> </varlistentry> - </variablelist> - </refsect2> - - <refsect2> - <title>Semi-internal Options</title> - - <para> - There are several other options that may be specified, used - mainly for debugging purposes. These are listed here only for - the use by <productname>PostgreSQL</productname> system - developers. <emphasis>Use of any of these options is highly - discouraged.</emphasis> Furthermore, any of these options may - disappear or change in a future release without notice. - </para> - <variablelist> - - <varlistentry> - <term><option>-f</option> <literal>{ s | i | m | n | h }</literal></term> - <listitem> - <para> - Forbids the use of particular scan and join methods: - <literal>s</literal> and <literal>i</literal> - disable sequential and index scans respectively, while - <literal>n</literal>, <literal>m</literal>, and <literal>h</literal> - disable nested-loop, merge and hash joins respectively. - </para> - - <note> - <para> - Neither sequential scans nor nested-loop joins can be disabled completely; - the <literal>-fs</literal> and <literal>-fn</literal> - options simply discourage the optimizer from using those - plan types if it has any other alternative. - </para> - </note> - </listitem> - </varlistentry> <varlistentry> - <term><option>-O</option></term> + <term><option>-r</option> <replaceable class="parameter">filename</replaceable></term> <listitem> <para> - Allows the structure of system tables to be modified. This is - used by <command>initdb</command>. + Send all server log output to + <replaceable class="parameter">filename</replaceable>. + If <command>postgres</command> is running under the + <command>postmaster</command>, this option is ignored, + and the <systemitem>stderr</> inherited from the + <command>postmaster</command> is used. </para> </listitem> </varlistentry> + </variablelist> + </refsect2> - <varlistentry> - <term><option>-p</option> <replaceable class="parameter">database</replaceable></term> - <listitem> - <para> - Indicates that this process has been started by a - <command>postmaster</command> and specifies the database to use. - etc. - </para> - </listitem> - </varlistentry> + <refsect2> + <title>Semi-internal Options</title> - <varlistentry> - <term><option>-t</option> <literal>pa[rser] | pl[anner] | e[xecutor]</literal></term> - <listitem> - <para> - Print timing statistics for each query relating to each of the - major system modules. This option cannot be used together - with the <option>-s</option> option. - </para> - </listitem> - </varlistentry> + <para> + The options <option>-f</option>, <option>-O</option>, + <option>-P</option>, <option>-t</option>, and <option>-W</option> + have the same meanings as with the <xref + linkend="app-postmaster"> and are reserved for debugging and + disaster recovery. Further options for internal use are: + <variablelist> <varlistentry> <term><option>-v</option> <replaceable class="parameter">protocol</replaceable></term> <listitem> @@ -323,12 +176,12 @@ PostgreSQL documentation </varlistentry> <varlistentry> - <term><option>-W</option> <replaceable class="parameter">seconds</replaceable></term> + <term><option>-y</option> <replaceable class="parameter">database</replaceable></term> <listitem> <para> - As soon as this option is encountered, the process sleeps for - the specified amount of seconds. This gives developers time - to attach a debugger to the server process. + Indicates that this process has been started by a + <command>postmaster</command> and specifies the database to use. + etc. </para> </listitem> </varlistentry> @@ -343,8 +196,8 @@ PostgreSQL documentation </para> </listitem> </varlistentry> - </variablelist> + </para> </refsect2> </refsect1> @@ -361,13 +214,7 @@ PostgreSQL documentation </para> </listitem> </varlistentry> - </variablelist> - - <para> - For others, which have little influence during single-user mode, - see <xref linkend="app-postmaster">. - </para> </refsect1> <refsect1> @@ -423,7 +270,7 @@ PostgreSQL documentation </para> <para> - But if you use the <option>-N</> command line switch, then newline does + But if you use the <option>-j</> command line switch, then newline does not terminate command entry. In this case, the server will read the standard input until the end-of-file (<acronym>EOF</>) marker, then process the input as a single command string. Backslash-newline is not @@ -434,7 +281,7 @@ PostgreSQL documentation To quit the session, type <acronym>EOF</acronym> (<keycombo action="simul"><keycap>Control</><keycap>D</></>, usually). If you've - used <option>-N</>, two consecutive <acronym>EOF</>s are needed to exit. + used <option>-j</>, two consecutive <acronym>EOF</>s are needed to exit. </para> <para> diff --git a/doc/src/sgml/ref/postmaster.sgml b/doc/src/sgml/ref/postmaster.sgml index aa332ed2f22..77275e8d93a 100644 --- a/doc/src/sgml/ref/postmaster.sgml +++ b/doc/src/sgml/ref/postmaster.sgml @@ -1,5 +1,5 @@ <!-- -$PostgreSQL: pgsql/doc/src/sgml/ref/postmaster.sgml,v 1.54 2005/12/02 23:13:46 tgl Exp $ +$PostgreSQL: pgsql/doc/src/sgml/ref/postmaster.sgml,v 1.55 2006/01/05 10:07:44 petere Exp $ PostgreSQL documentation --> @@ -22,22 +22,7 @@ PostgreSQL documentation <refsynopsisdiv> <cmdsynopsis> <command>postmaster</command> - <arg>-A <group choice="plain"><arg>0</arg><arg>1</arg></group></arg> - <arg>-B <replaceable>nbuffers</replaceable></arg> - <arg>-c <replaceable>name</replaceable>=<replaceable>value</replaceable></arg> - <arg>-d <replaceable>debug-level</replaceable></arg> - <arg>-D <replaceable>datadir</replaceable></arg> - <arg>-F</arg> - <arg>-h <replaceable>hostname</replaceable></arg> - <arg>-i</arg> - <arg>-k <replaceable>directory</replaceable></arg> - <arg>-l</arg> - <arg>-N <replaceable>max-connections</replaceable></arg> - <arg>-o <replaceable>extra-options</replaceable></arg> - <arg>-p <replaceable>port</replaceable></arg> - <arg>-S</arg> - <arg>--<replaceable>name</replaceable>=<replaceable>value</replaceable></arg> - <group><arg>-n</arg><arg>-s</arg></group> + <arg rep="repeat"><replaceable>option</></arg> </cmdsynopsis> </refsynopsisdiv> @@ -70,8 +55,7 @@ PostgreSQL documentation location (the <quote>data area</quote>). More than one <command>postmaster</command> process can run on a system at one time, so long as they use different data areas and different - communication ports (see below). A data area is created with <xref - linkend="app-initdb">. + communication ports (see below). </para> <para> @@ -83,6 +67,7 @@ PostgreSQL documentation directly to the data area directory created by <application>initdb</>. Other possible file layouts are discussed in <xref linkend="runtime-config-file-locations">. + A data area is created with <xref linkend="app-initdb">. </para> </refsect1> @@ -92,8 +77,12 @@ PostgreSQL documentation <para> <command>postmaster</command> accepts the following command line arguments. For a detailed discussion of the options - consult <xref linkend="runtime-config">. You can also save typing most of these + consult <xref linkend="runtime-config">. You can save typing most of these options by setting up a configuration file. + </para> + + <refsect2> + <title>General Purpose</title> <variablelist> <varlistentry> @@ -157,6 +146,18 @@ PostgreSQL documentation </varlistentry> <varlistentry> + <term><option>-e</option></term> + <listitem> + <para> + Sets the default date style to <quote>European</quote>, that is + <literal>DMY</> ordering of input date fields. This also causes + the day to be printed before the month in certain date output formats. + See <xref linkend="datatype-datetime"> for more information. + </para> + </listitem> + </varlistentry> + + <varlistentry> <term><option>-F</option></term> <listitem> <para> @@ -264,6 +265,12 @@ PostgreSQL documentation linkend="app-postgres"> for possibilities. If the option string contains any spaces, the entire string must be quoted. </para> + + <para> + The use of this option is obsolete; all command-line options + for server processes can be specified directly on the + <command>postmaster</command> command line + </para> </listitem> </varlistentry> @@ -285,6 +292,17 @@ PostgreSQL documentation </varlistentry> <varlistentry> + <term><option>-s</option></term> + <listitem> + <para> + Print time information and other statistics at the end of each command. + This is useful for benchmarking or for use in tuning the number of + buffers. + </para> + </listitem> + </varlistentry> + + <varlistentry> <term><option>-S</option></term> <listitem> <para> @@ -318,55 +336,124 @@ PostgreSQL documentation </varlistentry> </variablelist> - </para> + </refsect2> - <para> - Two additional command line options are available for debugging - problems that cause a server process to die abnormally. The - ordinary strategy in this situation is to notify all other server - processes that they must terminate and then reinitialize the - shared memory and semaphores. This is because an errant server - process could have corrupted some shared state before terminating. - These options select alternative behaviors of the - <command>postmaster</command> in this situation. - <emphasis>Neither option is intended for use in ordinary - operation.</emphasis> - </para> + <refsect2> + <title>Semi-internal Options</title> - <para> - </para> - - <para> - These special-case options are: + <para> + There are several other options that may be specified, used + mainly for debugging purposes and in some cases to assist with + recovery of severely damaged databases. There should be no reason + to use them in a production database setup. These are listed + here only for the use by <productname>PostgreSQL</productname> + system developers. <emphasis>Use of any of these options is + highly discouraged.</emphasis> Furthermore, any of these options + may disappear or change in a future release without notice. + </para> <variablelist> <varlistentry> + <term><option>-f</option> <literal>{ s | i | m | n | h }</literal></term> + <listitem> + <para> + Forbids the use of particular scan and join methods: + <literal>s</literal> and <literal>i</literal> + disable sequential and index scans respectively, while + <literal>n</literal>, <literal>m</literal>, and <literal>h</literal> + disable nested-loop, merge and hash joins respectively. + </para> + + <para> + Neither sequential scans nor nested-loop joins can be disabled + completely; the <literal>-fs</literal> and + <literal>-fn</literal> options simply discourage the optimizer + from using those plan types if it has any other alternative. + </para> + </listitem> + </varlistentry> + + <varlistentry> <term><option>-n</option></term> <listitem> <para> - <command>postmaster</command> - will not reinitialize shared data structures. A knowledgeable system - programmer can then use a debugger - to examine shared memory and semaphore state. + This option is for debugging problems that cause a server + process to die abnormally. The ordinary strategy in this + situation is to notify all other server processes that they + must terminate and then reinitialize the shared memory and + semaphores. This is because an errant server process could + have corrupted some shared state before terminating. This + option specifies that the <command>postmaster</command> will + not reinitialize shared data structures. A knowledgeable + system programmer can then use a debugger to examine shared + memory and semaphore state. </para> </listitem> </varlistentry> - <varlistentry> - <term><option>-s</option></term> + <varlistentry> + <term><option>-O</option></term> <listitem> <para> - <command>postmaster</command> - will stop all other server processes by sending the signal - <literal>SIGSTOP</literal>, - but will not cause them to terminate. This permits system programmers - to collect core dumps from all server processes by hand. + Allows the structure of system tables to be modified. This is + used by <command>initdb</command>. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-P</option></term> + <listitem> + <para> + Ignore system indexes when reading system tables (but still update + the indexes when modifying the tables). This is useful when + recovering from damaged system indexes. </para> </listitem> </varlistentry> - </variablelist> - </para> + <varlistentry> + <term><option>-t</option> <literal>pa[rser] | pl[anner] | e[xecutor]</literal></term> + <listitem> + <para> + Print timing statistics for each query relating to each of the + major system modules. This option cannot be used together + with the <option>-s</option> option. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-T</option></term> + <listitem> + <para> + This option is for debugging problems that cause a server + process to die abnormally. The ordinary strategy in this + situation is to notify all other server processes that they + must terminate and then reinitialize the shared memory and + semaphores. This is because an errant server process could + have corrupted some shared state before terminating. This + option specifies that the <command>postmaster</command> will + stop all other server processes by sending the signal + <literal>SIGSTOP</literal>, but will not cause them to + terminate. This permits system programmers to collect core + dumps from all server processes by hand. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-W</option> <replaceable class="parameter">seconds</replaceable></term> + <listitem> + <para> + A delay of this many seconds occurs when a new server process + is started, after it conducts the authentication procedure. + This is intended to give an opportunity to attach to the + server process with a debugger. + </para> + </listitem> + </varlistentry> + </variablelist> </refsect1> <refsect1> |