mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +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:
 | 
						|
-->
 |