summaryrefslogtreecommitdiff
path: root/doc/src
diff options
context:
space:
mode:
authorPeter Eisentraut <peter_e@gmx.net>2006-01-05 10:07:46 +0000
committerPeter Eisentraut <peter_e@gmx.net>2006-01-05 10:07:46 +0000
commit86c23a6eb28b0588644dcefeb33ef5a2aa8b9453 (patch)
treed0497d119ef7cf861fc046c58326a42e47c16c39 /doc/src
parent4e1712ea5499ad57d825eefa08e560dad715300c (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.sgml137
-rw-r--r--doc/src/sgml/ref/postgres-ref.sgml259
-rw-r--r--doc/src/sgml/ref/postmaster.sgml189
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>