2024年5月1日发(作者:)

/server/2005-09-21/

./pg_ctl -D /usr/local/pgsql/data -l logfile start

pg_ctl start [-w] [-s] [-D datadir] [-l filename] [-o options] [-p path]

pg_ctl stop [-W] [-s] [-D datadir] [-m s[mart] | f[ast] | i[mmediate] ]

pg_ctl restart [-w] [-s] [-D datadir] [-m s[mart] | f[ast] | i[mmediate] ] [-o

options]

pg_ctl reload [-s] [-D datadir]

pg_ctl status [-D datadir]

pg_ctl kill [signal_name] [process_id]

描述

pg_ctl 是一个用于启动,停止, 或者重起 PostgreSQL 后端服务器(postmaster),

或者显示一个运行着的服务器的状态的工具, 尽管我们可以手动启动服务器,但是 pg_ctl

封装了重新定向日志输出, 与终端和进程组合理分离,以及另外提供了一个选项用于有控

制的关闭。

在 start 模式里会启动一个新的服务器。 服务器是在后台启动的,标准输入被附着

到了 /dev/null 上。如果使用了 -l,那么标准输出和标准错误被定向到一个日志文件, 要

么就是重新定向到 pg_ctl 的标准输出(而不是标准错误)。 如果没有选定日志文件,

pg_ctl 的标准输出应该重新定向到一个文件或者用管道输出类似 rotatelogs 这样的日

志旋转程序,否则,postmaster 将把它的输出写到控制终端(在后台)并且将不会脱离

shell 的进程组。

在 stop 模式下,那个正在特定数据目录运行的服务器被关闭。 你可以用 -m 选项

选择三种不同的关闭模式:"Smart" 模式等待所有客户端中断联接。 这个是缺省。"Fast"

模式并不等待客户端中断联接。 所有活跃事务都被回卷并且客户端都强制断开。

"Immediate" 模式将在没有干净关闭的情况下退出。这么做将导致在重新启动的时候的恢

复。

restart 实际上是先执行一个停止,然后紧跟一个启动。它允许变换postmaster命令

行的选项。

reload 模式简单地给postmaster发送一个 SIGHUP 信号,导致它重新读取她的配

置文件 (,pg_ 等等) 这样就允许修改配置文件选项而不用

完全重启系统来使之生效。

status 模式监查一个服务器是否在指定的数据目录运行, 如果是,那么显示其 PID

和调用它的命令行选项。

kill 模式允许你给一个指定的进程发送信号。 这个功能对 Microsoft Windows 特别

有用,因为那里没有 kill 命令。 使用 --help 查看支持的信号的名字的列表。

选项