pg_ctl

名称:一个初始化,启动,停止,或控制PostgreSQL服务器的设备(命令).

用法:

    pg_ctl init[db] [-D DATADIR] [-s] [-o "OPTIONS"]

    pg_ctl start [-w] [-t SECS] [-D DATADIR] [-s] [-l FILENAME] [-o "OPTIONS"]
    
    pg_ctl stop [-W] [-t SECS] [-D DATADIR] [-s] [-m Shutdown-mode]

    pg_ctl restart [-w] [-t SECS] [-D DATADIR] [-s] [-m Shutdown-mode] [-o "OPTIONS"]

    pg_ctl reload [-D DATADIR] [-s]

    pg_ctl status [-D DATADIR]
       
    pg_ctl promote [-D DATADIR] [-s]

    pg_ctl kill SIGNALNAME PID

常规选项:

    -D,--pgdata DATADIR:指定数据库存储目录

    -s,--silent:仅打印错误,不输出信息

    -t SECS:指定等待秒数

    -w:等待直到操作完成

    -W:不等待操作完成

    若没有指定-D选项则使用环境变量PGDATA

start或restart的选项:

    -c,--core-files:允许postgres产生core文件

    -l,--log FILENAME:指定日志文件

    -o OPTIONS:指定传递给postgres命令的选项

    -p PATH-TO-POSTGRES:指定postgres的路径

stop或restart的选项:

    -m Shutdown-mode:可能的值为"smart","fast","immediate"

Shutdown模式:

    smart:在所有客户端都断开时退出

    fast:直接退出

    immediate:不完成shutdown退出,然后重启恢复

SIGNALNAME可能值为:

    HUP INT QUIT ABRT TERM USR1 USR2

实例:

    #1.查看postgres的状态信息(是否运行,PID等)

        ./pg_ctl status -D /usr/local/postgres/data

    #2.关闭postgres服务器

        ./pg_ctl stop -D /usr/local/postgres/data

    #3.启动postgres服务器
       
        ./pg_ctl start -D /usr/local/postgres/data

    #4.重启postgres服务器

        ./pg_ctl restart -D /usr/local/postgres/data

    #5.初始化postgres数据

        ./pg_ctl initdb -D /usr/local/postgres/data