⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 postgres-ref.sgml

📁 postgresql8.3.4源码,开源数据库
💻 SGML
📖 第 1 页 / 共 2 页
字号:
       <para>        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>     <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 <command>postgres</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>-v</option> <replaceable class="parameter">protocol</replaceable></term>      <listitem>       <para>        Specifies the version number of the frontend/backend protocol        to be used for a particular session.  This option is for        internal use only.       </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>   </refsect2>   <refsect2>    <title>Options for single-user mode</title>    <para>     The following options only apply to the single-user mode.    </para>    <variablelist>     <varlistentry>      <term><option>--single</option></term>      <listitem>       <para>        Selects the single-user mode.  This must be the first argument        on the command line.       </para>      </listitem>     </varlistentry>     <varlistentry>      <term><replaceable class="parameter">database</replaceable></term>      <listitem>       <para>        Specifies the name of the database to be accessed.  This must be        the last argument on the command line.  If it is        omitted it defaults to the user name.       </para>      </listitem>     </varlistentry>     <varlistentry>      <term><option>-E</option></term>      <listitem>       <para>        Echo all commands.       </para>      </listitem>     </varlistentry>     <varlistentry>      <term><option>-j</option></term>      <listitem>       <para>        Disables use of newline as a statement delimiter.       </para>      </listitem>     </varlistentry>     <varlistentry>      <term><option>-r</option> <replaceable class="parameter">filename</replaceable></term>      <listitem>       <para>        Send all server log output to <replaceable        class="parameter">filename</replaceable>.  In normal multiuser        mode, this option is ignored, and <systemitem>stderr</> is        used by all processes.       </para>      </listitem>     </varlistentry>    </variablelist>   </refsect2> </refsect1> <refsect1>  <title>Environment</title>  <variablelist>   <varlistentry>    <term><envar>PGCLIENTENCODING</envar></term>    <listitem>     <para>      Default character encoding used by clients.  (The clients can      override this individually.)  This value can also be set in the      configuration file.     </para>    </listitem>   </varlistentry>   <varlistentry>    <term><envar>PGDATA</envar></term>    <listitem>     <para>      Default data directory location     </para>    </listitem>   </varlistentry>   <varlistentry>    <term><envar>PGDATESTYLE</envar></term>    <listitem>     <para>      Default value of the <xref linkend="guc-datestyle"> run-time      parameter.  (The use of this environment variable is deprecated.)     </para>    </listitem>   </varlistentry>   <varlistentry>    <term><envar>PGPORT</envar></term>    <listitem>     <para>      Default port (preferably set in the configuration file)     </para>    </listitem>   </varlistentry>   <varlistentry>    <term><envar>TZ</envar></term>    <listitem>     <para>      Server time zone     </para>    </listitem>   </varlistentry>  </variablelist> </refsect1> <refsect1>   <title>Diagnostics</title>   <para>    A failure message mentioning <literal>semget</> or    <literal>shmget</> probably indicates you need to configure your    kernel to provide adequate shared memory and semaphores.  For more    discussion see <xref linkend="kernel-resources">.  You might be able    to postpone reconfiguring your kernel by decreasing <xref    linkend="guc-shared-buffers"> to reduce the shared memory    consumption of <productname>PostgreSQL</>, and/or by reducing    <xref linkend="guc-max-connections"> to reduce the semaphore    consumption.   </para>   <para>    A failure message suggesting that another server is already running    should be checked carefully, for example by using the command<screen><prompt>$</prompt> <userinput>ps ax | grep postgres</userinput></screen>        or<screen><prompt>$</prompt> <userinput>ps -ef | grep postgres</userinput></screen>    depending on your system.  If you are certain that no conflicting    server is running, you can remove the lock file mentioned in the    message and try again.   </para>   <para>    A failure message indicating inability to bind to a port might    indicate that that port is already in use by some    non-<productname>PostgreSQL</productname> process.  You might also    get this error if you terminate <command>postgres</command>    and immediately restart it using the same port; in this case, you    must simply wait a few seconds until the operating system closes    the port before trying again.  Finally, you might get this error if    you specify a port number that your operating system considers to    be reserved.  For example, many versions of Unix consider port    numbers under 1024 to be <quote>trusted</quote> and only permit    the Unix superuser to access them.   </para> </refsect1> <refsect1>  <title>Notes</title>  <para>   The utility command <xref linkend="app-pg-ctl"> can be used to   start and shut down the <command>postgres</command> server   safely and comfortably.  </para>    <para>   If at all possible, <emphasis>do not</emphasis> use   <literal>SIGKILL</literal> to kill the main   <command>postgres</command> server.  Doing so will prevent   <command>postgres</command> from freeing the system   resources (e.g., shared memory and semaphores) that it holds before   terminating.  This might cause problems for starting a fresh   <command>postgres</command> run.  </para>  <para>   To terminate the <command>postgres</command> server normally, the   signals <literal>SIGTERM</literal>, <literal>SIGINT</literal>, or   <literal>SIGQUIT</literal> can be used.  The first will wait for   all clients to terminate before quitting, the second will   forcefully disconnect all clients, and the third will quit   immediately without proper shutdown, resulting in a recovery run   during restart.  </para>  <para>   The <literal>SIGHUP</literal> signal will reload   the server configuration files.  It is also possible to send   <literal>SIGHUP</literal> to an individual server process, but that   is usually not sensible.  </para>  <para>   To cancel a running query, send the <literal>SIGINT</literal> signal   to the process running that command.  </para>  <para>   The <command>postgres</command> server uses <literal>SIGTERM</literal>   to tell subordinate server processes to quit normally and   <literal>SIGQUIT</literal> to terminate without the normal cleanup.   These signals <emphasis>should not</emphasis> be used by users.  It   is also unwise to send <literal>SIGKILL</literal> to a server   process &mdash; the main <command>postgres</command> process will   interpret this as a crash and will force all the sibling processes   to quit as part of its standard crash-recovery procedure.  </para> </refsect1> <refsect1 id="app-postgres-bugs">  <title>Bugs</title>  <para>   The <option>--</> options will not work on <systemitem   class="osname">FreeBSD</> or <systemitem class="osname">OpenBSD</>.   Use <option>-c</> instead. This is a bug in the affected operating   systems; a future release of <productname>PostgreSQL</productname>   will provide a workaround if this is not fixed.  </para> </refsect1> <refsect1>  <title>Usage</title>   <para>    To start a single-user mode server, use a command like<screen><userinput>postgres --single -D /usr/local/pgsql/data <replaceable>other-options</> my_database</userinput></screen>    Provide the correct path to the database directory with <option>-D</>, or    make sure that the environment variable <envar>PGDATA</> is set.    Also specify the name of the particular database you want to work in.   </para>   <para>    Normally, the single-user mode server treats newline as the command    entry terminator; there is no intelligence about semicolons,    as there is in <application>psql</>.  To continue a command    across multiple lines, you must type backslash just before each    newline except the last one.   </para>   <para>    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    treated specially in this case.   </para>   <para>    To quit the session, type <acronym>EOF</acronym>    (<keycombo action="simul"><keycap>Control</><keycap>D</></>, usually).    If you've    used <option>-j</>, two consecutive <acronym>EOF</>s are needed to exit.   </para>   <para>    Note that the single-user mode server does not provide sophisticated    line-editing features (no command history, for example).   </para> </refsect1> <refsect1 id="app-postgres-examples">  <title>Examples</title>  <para>   To start <command>postgres</command> in the background   using default values, type:<screen><prompt>$</prompt> <userinput>nohup postgres &gt;logfile 2&gt;&amp;1 &lt;/dev/null &amp;</userinput></screen>  </para>  <para>   To start <command>postgres</command> with a specific   port:<screen><prompt>$</prompt> <userinput>postgres -p 1234</userinput></screen>   This command will start up <command>postgres</command>   communicating through the port 1234. In order to connect to this   server using <application>psql</>, you would need to run it as<screen><prompt>$</prompt> <userinput>psql -p 1234</userinput></screen>   or set the environment variable <envar>PGPORT</envar>:<screen><prompt>$</prompt> <userinput>export PGPORT=1234</userinput><prompt>$</prompt> <userinput>psql</userinput></screen>  </para>  <para>   Named run-time parameters can be set in either of these styles:<screen><prompt>$</prompt> <userinput>postgres -c work_mem=1234</userinput><prompt>$</prompt> <userinput>postgres --work-mem=1234</userinput></screen>   Either form overrides whatever setting might exist for   <varname>work_mem</> in <filename>postgresql.conf</>.  Notice that   underscores in parameter names can be written as either underscore   or dash on the command line.  Except for short-term experiments,   it's probably better practice to edit the setting in   <filename>postgresql.conf</> than to rely on a command-line switch   to set a parameter.  </para> </refsect1> <refsect1>  <title>See Also</title>  <para>   <xref linkend="app-initdb">,   <xref linkend="app-pg-ctl">  </para> </refsect1></refentry>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -