Provided by: manpages-zh_1.5.1-2_all bug

NAME

       postgres - 以单用户模式运行一个 PostgreSQL服务器

SYNOPSIS

       postgres  [  -A   0 | 1 ] [ -B nbuffers ] [ -c name=value ] [ -d debug-
       level ] [ --describe-config ] [ -D datadir ] [ -e ] [ -E ] [ -f  s |  i
       | t | n | m | h ] [ -F ] [ -N ] [ -o filename ] [ -O ] [ -P ] [ -s | -t
       pa | pl | ex ] [ -S sort-mem ] [ -W seconds ] [ --name=value ] database

       postgres  [  -A   0 | 1 ] [ -B nbuffers ] [ -c name=value ] [ -d debug-
       level ] [ -D datadir ] [ -e ] [ -f  s | i | t | n | m | h ] [ -F ] [ -o
       filename ] [ -O ] [ -p database ] [ -P ] [ -s | -t  pa | pl | ex ] [ -S
       sort-mem ] [ -v protocol ] [ -W seconds ] [ --name=value ]

DESCRIPTION述
       可执行程序   postgres    是真正处理查询的    PostgreSQL    服务器进程。
       通常它是不会被直接调用的;而是启动一个 postmaster 多用户服务器。

        上面的第二种形式就是         postmaster(1)        调用        postgres
       的方法(只是概念上的,因为        postmaster         和        postgres
       实际上是一样的程序);
       我们不能这样直接调用它。第一种形式以交互单用户模式直接调用该服务器。
       这种用法的主要用途是在                                           initdb
       做初始化时用。有时候它被用做调试灾难性恢复。

        当从                                                             shell
       上以交互模式调用时,用户可以输入查询并且结果会打印在屏幕上,
       不过格式对开发人员更有用,对用户却差好多。
       不过请记住,运行一个单用户服务器并不适合于调试该服务器,
       因为没有实际的进程间通讯和锁动作发生。

        当运行一个单用户服务器时,将把会话用户设置为   ID   为   1    的用户。
       该用户不必实际存在,因此一个独立运行的服务器可以用于对某些意外损坏的系统表中进行手工恢复。
       在独立运行模式下,系统隐含地赋予 ID 为 1 的用户超级用户权限。

OPTIONS项
        如果            postgres            是由一个             postmaster(1)
       启动的,那么它继承后者的所有选项集。另外  postgres  相关的选项可以用 -o
       开关从 postmaster(1) 传递。

        你可以通过设置一个配置文件来避免键入这些选项。             参阅Section
       16.4获取细节。         有些(安全的)选项还可以从联接过来的客户端设置,
       这样就获得了一种应用无关的方法。 比如,如果设置了 PGOPTIONS  环境变量,
       那么基于  libpq  的客户端就都把那个字串传递给服务器, 会解释成 postgres
       命令行选项。

   GENERAL PURPOSE途
       选项  -A,  -B,  -c,  -d,   -D,   -F,   和   --namepostmaster(1)
       里的有相同的含义。只是   -d   0   避免  postmaster(1)  的调试级别传播到
       postgres。

       -e                                                 把缺省日期风格设置为
              "European",也就是说用"DMY"规则解释日期输入,
              并且在一些日期输出格式里日子在月份前面打印。  参阅  Section  8.5
              ``Date/Time Types'' 获取更多细节。

       -o filename
               把所有服务器日志输出到         filename。        如果服务器是由
              postmaster运行的,     则忽略这个选项,并且使用从     postmaster
              继承过来的stderr。

       -P          扫描/更新系统记录时忽略系统表。对系统表/索引使用    REINDEX
              时需要这个选项。

       -s                         在每条命令结束时打印时间信息和其他统计信息。
              这个开关对测试性能和调节缓冲区数量有好处。

       -S sort-mem
               声明内部排序和散列在求助于临时磁盘文件之前可以使用的内存数量。
              该值是以     KB     (千字节)为单位的,缺省是     1024     KB。
              注意对于复杂查询,可能有好几个并行的排序和/或散列,
              而在它们把数据放到临时文件前,每个都会允许使用最多      sort-mem
              KB的内存。

   OPTIONS FOR STAND-ALONE MODE项
       database
               声明要访问的数据库的名字。如果忽略掉则缺省为用户名。

       -E      回显所有命令。

       -N      禁止把新行作为语句分隔符。

   SEMI-INTERNAL OPTIONS项
        还有几个其他的选项可以声明,主要用于调试用途。
       这些东西在这里列出只是给        PostgreSQL         系统开发人员使用的。
       我们强烈反对使用这些选项。
       另外这些选项的任何一项都可能在未来版本中消失而不加说明。

       -f { s | i | m | n | h }
               禁止某种扫描和连接方法的使用:         s          和          i
              分别关闭顺序和索引扫描,而     n,m,和     h     分别关闭嵌套-
              环,融合(merge)和散列连接。

              Note: 注意:  顺序扫描和嵌套鸦范疾豢赡芡耆还乇铡  -fs  和  -fn
              选项仅仅是在存在其他方法时阻 坝呕魇褂谜庑┓椒ò樟恕

       -O      允许修改系统表的结构。这个参数用于 initdb-p database
               告诉服务器服务器它是由一个                           postmaster
              启动的并声明要使用的数据库等。

       -t pa[rser] | pl[anner] | e[xecutor]
               打印与每个主要系统模块相关的查询记时统计。             它不能和
              -s选项一块使用。

       -v protocol
               声明这次会话使用的前/服务器幸榈陌姹臼

       -W seconds
               一旦看见这个选项,进程就睡眠标出的秒数。
              这样就给开发者一些时间把调试器附着在该服务器进程上。

       --describe-config
               这个选项以             tab             分隔的              COPY
              格式,倒出服务器内部配置变量,描述和缺省之。
              设计它主要是给管理工具使用。

ENVIRONMENT境
       PGDATA  缺省数据目录位置

        对于其它的在单用户模式里有一点点影响的环境变量,请参阅  postmaster(1).

NOTES意
        要停止运行一个查询,使用     SIGINT     给正在运行该命令的    postgres
       进程发信号。

        要告诉   postgres   重新读取配置文件,    使用一个    SIGHUP    信号。
       通常我们最好给   postmaster  发送  SIGHUP;  postmaster  将随后  SIGHUP
       他的每个子进程。         但是有时候我们可能想只让一个          postgres
       进程重装载配置文件。

       postmaster  使用  SIGTERM 告诉postgres进程正常退出, 而 SIGQUIT 是不 -
       过正常清理的退出。 这些信号不应该由用户使用。 给一个 postgres  进程发送
       SIGKILL 也是不明智的: postmaster 将把这个信号解释成一次在 postgres 里的
       崩溃,    并且会强制所有他的子    postgres     进程像在一个标准的崩溃-
       恢复过程里一 样退出。

USAGE法
        用下面这样的命令启动一个独立的服务器

       postgres -D /usr/local/pgsql/data other-options my_database

        用  -D  给服务器提供正确的数据库目录的路径,  或者确保环境变量  PGDATA
       已菊飞柚谩 同时还要声名你象用的特定数据库名字。

        通常,独立运行的服务器把换行符当做命令输入完成字符;
       它还不懂分号的作用,因为那些东西是在           psql(1)           里的。
       要想把一行分成多行写,你必需在除最后一个换行符以外的每个换行符前面敲一个反斜杠。

        但是如果你使用      -N      命令行开关,那么换行符就不会中止命令输入。
       服务器将从标准输入读取数据,直到碰到文件结尾(EOF),
       然后把输入当做一个单个的命令字串处理。这个时候反斜杠-换行符就不再当做特殊情况处理。

        要退出会话,键入EOF     (通常是      Control+D)。      如果你已臼褂昧
       -N,需要用两个连续的EOF来退出。

        请注意独立运行的服务器不会提供复杂的行编-
       功能(比如,没有命令行历史)。

SEE ALSO见
       initdb(1), ipcclean(1), postmaster(1)

者
       Postgresql  <laser@pgsqldb.org>