|
postgresSynopsis
postgres
[-A 0 | 1 ] [-B
nbuffers
] [-c
name
=
value
] [-d
debug-level
] [-D
datadir
] [-e] [-E] [-f s | i | t | n | m | h ] [-F] [-i] [-N] [-o
filename
] [-O] [-P] [-s | -t pa | pl | ex ] [-S
sort-mem
] [-W
seconds
] [--
name
=
value
]
database
描述可执行程序 postgres 是真正处理查询的 PostgreSQL 服务器进程. 通常它是不会被直接调用的;而是启动一个 postmaster 多用户服务器. 上面的第二种形式就是 postmaster 调用 postgres 的方法(只是概念上的,因为 postmaster 和 postgres 实际上是一样的程序); 我们不能这样直接调用它.第一种形式以交互单用户模式直接调用该服务器. 这种用法的主要用途是在 initdb 做初始化时用.有时候它被用做调试灾难性恢复. 当从 shell 上以交互模式调用时,用户可以输入查询并且结果会打印在 屏幕上,不过格式对开发人员更有用,对用户却差好多. 不过请记住,运行一个单用户后端并不适合于调试该服务器, 因为没有实际的进程间通讯和锁动作发生. 当运行一个单用户后端时,将把会话用户设置为 id 为 1 的用户. 该用户不必实际存在,因此一个独立运行的后端可以用于对某些 以外损坏的系统表中进行手工恢复.在独立运行模式下,系统隐含地赋予 id 为 1 的用户超级用户权限. 选项如果 postgres 是由一个 postmaster 启动的,那么它继承后者的所有选项集.另外 postgres 相关的选项可以用 -o 开关从 postmaster 传递. 你可以通过设置一个配置文件来避免键入这些选项. 参阅 管理员手册 获取细节. 有些(安全的)选项还可以从联接过来的客户端设置, 这样就获得了一种应用无关的方法. 比如,如果设置了 PGOPTIONS 环境变量, 那么基于 libpq 的客户端就都把那个字串传递给服务器, 会解释成 postgres 命令行选项. 通用用途选项 -A , -B , -c , -d , -D , 和 -F ,以及 --name 和 postmaster 里的有相同的含义.
半内部选项还有几个其他的选项可以声明,主要用于调试用途。 这些东西在这里列出只是给 PostgreSQL 系统开发人员使用的。 我们 强烈反对使用这些选项 。 另外这些选项的任何一项都可能在未来版本中消失而不加说明。
用法用下面这样的命令启动一个独立的后端 postgres -D $PGDATA other-options my_database 用 -D 给服务器提供正确的数据库区的路径, 或者确保环境变量 PGDATA 已经正确设置. 同时还要声名你象用的特定数据库名字. 通常,独立运行的后端把换行符当做命令输入完成字符; 它还不懂分号的作用,因为那些东西是在 psql 里的. 要想把一行分成多行写,你必需在除最后一个换行符以外的每个换行符 前面敲一个反斜杠. 但是如果你使用 -N 命令行开关,那么换行符就不会 中止命令输入.后端将从标准输入读取数据,直到碰到文件结尾(EOF), 然后把输入当做一个单个的查询字串处理.这个时候反斜杠-换行符 就不再当做特殊情况处理. 要退出会话,键入 EOF(通常是 Control + D ). 如果你已经使用了 -N ,需要用两个连续的 EOF 来退出. 请注意独立运行的后端不会提供复杂的行编辑功能 (比如,没有命令行历史). |