PostgreSQL 服务控制工具
pg_ctl 启动、停止、重启和检查 PostgreSQL 实例,直接操作数据目录。生产环境通常由 systemd 托管,但排障和手工初始化时仍常用。
pg_ctl -D /var/lib/pgsql/data status
pg_ctl -D /var/lib/pgsql/data start -l /var/log/pgsql.log
pg_ctl -D /var/lib/pgsql/data stop -m fast
pg_ctl -D /var/lib/pgsql/data restart -m fast -w
pg_ctl -D /var/lib/pgsql/data reload
pg_ctl -D /var/lib/pgsql/data promote
pg_ctl -D /var/lib/pgsql/data initdb
postgres)执行;root 启动会被拒绝。-D 指向数据目录,不是配置文件目录;路径错会报找不到 PG_VERSION。stop -m smart 会等所有连接退出,可能一直停不下来;维护时常用 fast。-m immediate 相当于崩溃停机,下次启动会做恢复;非必要不要用。postmaster.pid 残留会导致启动失败;确认没有进程后再处理。pg_ctl 启动,避免出现两个实例。promote 只对备库有意义;主库执行会报错。initdb — 初始化数据目录psql — 连接与查询pg_isready — 检查服务可用性