一、概述
控制 PostgreSQL 服务的工具。
二、语法
--初始化数据库实例
pg_ctl init[db] [-D datadir] [-s] [-o initdb-options]
--启动数据库实例
pg_ctl start [-D datadir] [-l filename] [-W] [-t seconds] [-s] [-o options] [-p path] [-c]
--停止数据库实例
pg_ctl stop [-D datadir] [-m s[mart] | f[ast] | i[mmediate] ] [-W] [-t seconds] [-s]
--重启数据库实例
pg_ctl restart [-D datadir] [-m s[mart] | f[ast] | i[mmediate] ] [-W] [-t seconds] [-s] [-o options] [-c]
--重新加载数据库配置文件
pg_ctl reload [-D datadir] [-s]
--查看数据库状态
pg_ctl status [-D datadir]
--备库切换为主库
pg_ctl promote [-D datadir] [-W] [-t seconds] [-s]
--轮换服务器日志文件
pg_ctl logrotate [-D datadir] [-s]
--向一个指定进程发送一个消息
pg_ctl kill signal_name process_id
--注册服务(Windows)
pg_ctl register [-D datadir] [-N servicename] [-U username] [-P password] [-S a[uto] | d[emand] ] [-e source] [-W] [-t seconds] [-s] [-o options]
--移除服务(Windows)
pg_ctl unregister [-N servicename]
init 或 initdb:调用initdb命令。详见initdb。
参数说明:
参数说明(Windows):
三、示例
--启动
pg_ctl start
--要使用端口 5433 启动,并且运行时不使用fsync:
pg_ctl -o "-F -p 5433" start
--停止
pg_ctl stop
pg_ctl stop -m smart
--重启
pg_ctl restart
--如果指定了-o,则会替换任何之前的选项。要使用端口 5433 重启并在重启时禁用fsync:
pg_ctl -o "-F -p 5433" restart
--查看状态
pg_ctl status
pg_ctl: server is running (PID: 13718)
/usr/local/pgsql/bin/postgres "-D" "/usr/local/pgsql/data" "-p" "5433" "-B" "128"
第二行是在重启模式可能被调用的命令行。