↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

不受支持的版本: 7.0
历史版本PostgreSQL 7.0 已于 2005 年 5 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本手册首页。

pg_ctl

pg_ctl — 启动、停止和重启 postmaster

大纲

pg_ctl [-w] [-D datadir][-p path] [-o "options"] start
pg_ctl [-w] [-D datadir] [-m [s[mart]|f[ast]|i[mmediate]]] stop
pg_ctl [-w] [-D datadir] [-m [s[mart]|f[ast]|i[mmediate]]
    [-o "options"] restart
pg_ctl [-D datadir] status
  

输入

-w

等待数据库服务器启动,方式是监视 pid 文件(PGDATA/postmaster.pid)的创建。 60 秒后超时。

-D datadir

指定这个数据库安装的数据库位置。

-p path

指定 postmaster 可执行文件的路径。

-o "options"

指定直接传递给 postmaster 的选项。

参数通常用单引号或双引号括起来, 以确保它们作为一个整体传递。

-m mode

指定关闭模式。

smart
s

smart 模式等待所有 客户端退出登录。这是默认值。

f[ast]
f

Fast 模式向后端发送 SIGTERM,这意味着 活动中的事务会被回滚。

immediate
i

Immediate 模式向后端发送 SIGUSR1 并让它们中止。在这种情况下,下次启动时 将需要进行数据库恢复。

start

启动 postmaster。

stop

关闭 postmaster。

restart

重启 postmaster,执行 一个停止/启动序列。

status

显示 postmaster 的当前状态。

输出

pg_ctl: postmaster is state (pid: #)

Postmaster 状态。

如果出现错误条件,将显示后端的错误消息。

描述

pg_ctl 是一个用于启动、 停止或重启 postmaster 的工具。

用法

启动 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
    

停止 postmaster

> pg_ctl stop
    

停止 postmaster。使用 -m 开关可以 控制后端如何关闭。 -w 等待 postmaster 关闭。 -m 指定关闭模式。

重启 postmaster

这几乎等价于先停止 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 状态

从 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 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。