mirror of
https://github.com/postgres/postgres.git
synced 2025-04-21 12:05:57 +03:00
381 lines
12 KiB
Plaintext
381 lines
12 KiB
Plaintext
<!--
|
|
$Header: /cvsroot/pgsql/doc/src/sgml/ref/postgres-ref.sgml,v 1.20 2001/09/27 16:29:12 tgl Exp $
|
|
Postgres documentation
|
|
-->
|
|
|
|
<refentry id="APP-POSTGRES">
|
|
<docinfo>
|
|
<date>2000-11-12</date>
|
|
</docinfo>
|
|
|
|
<refmeta>
|
|
<refentrytitle id="APP-POSTGRES-TITLE"><application>postgres</application></refentrytitle>
|
|
<manvolnum>1</manvolnum>
|
|
<refmiscinfo>Application</refmiscinfo>
|
|
</refmeta>
|
|
|
|
<refnamediv>
|
|
<refname>postgres</refname>
|
|
<refpurpose>run a <productname>PostgreSQL</productname> server in single-user mode</refpurpose>
|
|
</refnamediv>
|
|
|
|
<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>-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>-i</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>sort-mem</replaceable></arg>
|
|
<arg>-W <replaceable>seconds</replaceable></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>-i</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>sort-mem</replaceable></arg>
|
|
<arg>-v <replaceable>protocol-version</replaceable></arg>
|
|
<arg>-W <replaceable>seconds</replaceable></arg>
|
|
</cmdsynopsis>
|
|
</refsynopsisdiv>
|
|
|
|
<refsect1>
|
|
<title>Description</title>
|
|
|
|
<para>
|
|
The <filename>postgres</filename> executable is the actual
|
|
<productname>PostgreSQL</productname> server process that processes
|
|
queries. It is normally not called directly; instead a <xref
|
|
linkend="app-postmaster"> multi-user server is started.
|
|
</para>
|
|
|
|
<para>
|
|
The second form above is how
|
|
<application>postgres</application> 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 mode. The primary use for this
|
|
mode is for bootstrapping by <xref linkend="app-initdb">.
|
|
</para>
|
|
|
|
<para>
|
|
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
|
|
that running a single-user backend is not truly suitable for
|
|
debugging the server since no realistic inter-process communication
|
|
and locking will happen.
|
|
</para>
|
|
|
|
<para>
|
|
When running a stand-alone backend, the session user will be set to
|
|
the user with id 1. This user does not actually have to exist, so
|
|
a stand-alone backend can be used to manually recover from certain
|
|
kinds of accidental damage to the system catalogs. Implicit
|
|
superuser powers are granted to the user with id 1 in stand-alone
|
|
mode.
|
|
</para>
|
|
|
|
<refsect2>
|
|
<title>Options</title>
|
|
|
|
<para>
|
|
When <application>postgres</application> is started by a <xref
|
|
linkend="app-postmaster"> then it
|
|
inherits all options set by the latter. Additionally,
|
|
<application>postgres</application>-specific options can be passed
|
|
from the <application>postmaster</application> with the
|
|
<option>-o</option> switch.
|
|
</para>
|
|
|
|
<para>
|
|
You can avoid having to type these options by setting up a
|
|
configuration file. See the <citetitle>Administrator's
|
|
Guide</citetitle> for details. Some (safe) options can also be
|
|
set from the connecting client in an application-dependent way.
|
|
For example, if the environment variable <envar>PGOPTIONS</envar>
|
|
is set, then libpq-based clients will pass that string to the
|
|
server, which will interpret it as
|
|
<application>postgres</application> command-line options.
|
|
</para>
|
|
|
|
<refsect3>
|
|
<title>General Purpose</title>
|
|
|
|
<para>
|
|
The options <option>-A</option>, <option>-B</option>,
|
|
<option>-c</option>, <option>-d</option>, <option>-D</option>,
|
|
and <option>-F</option> have the same meaning as with the <xref
|
|
linkend="app-postmaster">.
|
|
</para>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>-e</term>
|
|
<listitem>
|
|
<para>
|
|
Sets the default date style to <quote>European</quote>, which
|
|
means that the <quote>day before month</quote> (rather than
|
|
month before day) rule is used to interpret ambiguous date
|
|
input, and that the day is printed before the month in certain
|
|
date output formats. See the <citetitle>PostgreSQL User's
|
|
Guide</citetitle> for more information.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>-o <replaceable class="parameter">filename</replaceable></term>
|
|
<listitem>
|
|
<para>
|
|
Sends all debugging and error output to
|
|
<replaceable class="parameter">filename</replaceable>.
|
|
If the backend is running under the <application>postmaster</application>,
|
|
error messages are still sent to the frontend process as well as to
|
|
<replaceable class="parameter">filename</replaceable>,
|
|
but debugging output is sent to the controlling tty of the
|
|
<application>postmaster</application>
|
|
(since only one file descriptor can be sent to an actual file).
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>-P</term>
|
|
<listitem>
|
|
<para>
|
|
Ignore system indexes to scan/update system tuples. The
|
|
<command>REINDEX</command> command for system tables/indexes
|
|
requires this option to be used.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>-s</term>
|
|
<listitem>
|
|
<para>
|
|
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.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>-S <replaceable class="parameter">sort-mem</replaceable></term>
|
|
<listitem>
|
|
<para>
|
|
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
|
|
<replaceable class="parameter">sort-mem</replaceable> kilobytes
|
|
before it starts to put data into temporary files.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
</refsect3>
|
|
|
|
<refsect3>
|
|
<title>Options for stand-alone mode</title>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><replaceable class="parameter">database</replaceable></term>
|
|
<listitem>
|
|
<para>
|
|
Specifies the name of the database to be accessed. If it is
|
|
omitted it defaults to the user name.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>-E</term>
|
|
<listitem>
|
|
<para>
|
|
Echo all queries.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>-N</term>
|
|
<listitem>
|
|
<para>
|
|
Disables use of newline as a query delimiter.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</refsect3>
|
|
|
|
<refsect3>
|
|
<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>-f { s | i | m | n | h }</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.
|
|
|
|
<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>
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>-i</term>
|
|
<listitem>
|
|
<para>
|
|
Prevents query execution, but shows the plan tree.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>-O</term>
|
|
<listitem>
|
|
<para>
|
|
Allows the structure of system tables to be modified. This is
|
|
used by <application>initdb</application>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>-p <replaceable class="parameter">database</replaceable></term>
|
|
<listitem>
|
|
<para>
|
|
Indicates that this server has been started by a
|
|
<application>postmaster</application> and makes different
|
|
assumptions about buffer pool management, file descriptors,
|
|
etc.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>-t pa[rser] | pl[anner] | e[xecutor]</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>-v <replaceable class="parameter">protocol</replaceable></term>
|
|
<listitem>
|
|
<para>
|
|
Specifies the version number of the frontend/backend protocol
|
|
to be used for this particular session.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>-W <replaceable class="parameter">seconds</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 backend process.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
</refsect3>
|
|
</refsect2>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>See Also</title>
|
|
|
|
<para>
|
|
<xref linkend="app-initdb">,
|
|
<xref linkend="app-ipcclean">,
|
|
<xref linkend="app-postmaster">
|
|
</para>
|
|
</refsect1>
|
|
|
|
</refentry>
|
|
|
|
<!-- Keep this comment at the end of the file
|
|
Local variables:
|
|
mode: sgml
|
|
sgml-omittag:nil
|
|
sgml-shorttag:t
|
|
sgml-minimize-attributes:nil
|
|
sgml-always-quote-attributes:t
|
|
sgml-indent-step:1
|
|
sgml-indent-data:t
|
|
sgml-parent-document:nil
|
|
sgml-default-dtd-file:"../reference.ced"
|
|
sgml-exposed-tags:nil
|
|
sgml-local-catalogs:"/usr/lib/sgml/catalog"
|
|
sgml-local-ecat-files:nil
|
|
End:
|
|
-->
|