pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
pg_ctl — 启动、停止和重启 postmaster
pg_ctl [-w] [-Ddatadir][-ppath] [-o "options"] start pg_ctl [-w] [-Ddatadir] [-m [s[mart]|f[ast]|i[mmediate]]] stop pg_ctl [-w] [-Ddatadir] [-m [s[mart]|f[ast]|i[mmediate]] [-o "options"] restart pg_ctl [-Ddatadir] status
等待数据库服务器启动,方式是监视 pid 文件(PGDATA/postmaster.pid)的创建。 60 秒后超时。
datadir指定这个数据库安装的数据库位置。
path指定 postmaster 可执行文件的路径。
options"指定直接传递给 postmaster 的选项。
参数通常用单引号或双引号括起来, 以确保它们作为一个整体传递。
mode指定关闭模式。
smart 模式等待所有 客户端退出登录。这是默认值。
Fast 模式向后端发送 SIGTERM,这意味着 活动中的事务会被回滚。
Immediate 模式向后端发送 SIGUSR1 并让它们中止。在这种情况下,下次启动时 将需要进行数据库恢复。
启动 postmaster。
关闭 postmaster。
重启 postmaster,执行 一个停止/启动序列。
显示 postmaster 的当前状态。
pg_ctl: postmaster is state (pid: #)Postmaster 状态。
如果出现错误条件,将显示后端的错误消息。
pg_ctl 是一个用于启动、 停止或重启 postmaster 的工具。
启动 postmaster:
> pg_ctl start
如果提供了 -w,pg_ctl 将等待数据库服务器启动,方式是监视 pid 文件(PGDATA/postmaster.pid)的创建, 最多 60 秒。
调用 postmaster 的参数 取自下列来源:
postmaster 的路径:在命令搜索路径中寻找。
数据库目录:PGDATA 环境变量。
其他参数: 。PGDATA/postmaster.opts.default
postmaster.opts.default 包含 postmaster 的参数。
注意 postmaster.opts.default 是由 initdb 从 Postgres 安装目录下的 lib/postmaster.opts.default.sample 安装的(lib/postmaster.opts.default.sample 是在安装 Postgres 时从 src/bin/pg_ctl/postmaster.opts.default.sample 复制而来的)。
要覆盖默认参数,你可以使用 -D、 -p 和 -o 选项。
一个启动 postmaster 并阻塞到 postmaster 启动为止的例子:
> pg_ctl -w start
要指定 postmaster 二进制文件的路径, 试试:
> pg_ctl -p /usr/local/pgsq/bin/postmaster start
对于一个使用端口 5433 并且不带 fsync 运行的 postmaster,使用:
> pg_ctl -o "-o -F -p 5433" start
> pg_ctl stop
停止 postmaster。使用 -m 开关可以 控制后端如何关闭。 -w 等待 postmaster 关闭。 -m 指定关闭模式。
这几乎等价于先停止 postmaster 再重新启动它, 区别只是停止之前使用的参数 也会被使用。这是通过把参数保存在 $PGDATA/postmaster.opts 文件中实现的。 -w、-D、-m、 -fast、-immediate 和 -o 也可以用于重启模式,它们的含义与上面描述的相同。
以最简单的形式重启 postmaster:
> pg_ctl restart
重启 postmaster, 等待它关闭并启动:
> pg_ctl -w restart
重启后使用端口 5433 并禁用 fsync:
> pg_ctl -o "-o -F -p 5433" restart
从 postmaster 获取状态信息:
> pg_ctl status
下面是 pg_ctl 的一个输出示例:
pg_ctl: postmaster is running (pid: 13718)
options are:
/usr/local/src/pgsql/current/bin/postmaster
-p 5433
-D /usr/local/src/pgsql/current/data
-B 64
-b /usr/local/src/pgsql/current/bin/postgres
-N 32
-o '-F'
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。