PostgreSQL-pg_ctl

命令简介

pg_ctl 启动、关闭、重启 postgressql

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 register [-N servicename] [-U username] [-P password] [-D datadir] [-w] [-o options] pg_ctl unregister [-N servicename]

具体说明见参考资料。缓存

 

实操记录

# 查找 pg_ctl
[root@localhost ~]# whereis pg_ctl
pg_ctl: /usr/bin/pg_ctl /usr/share/man/man1/pg_ctl.1.gz # 启动 postgres
[root@localhost ~]# su postgres
bash-4.2$ /usr/bin/pg_ctl -D /var/lib/pgsql/data start could not change directory to "/root" pg_ctl: another server might be running; trying to start server anyway server starting bash-4.2$ FATAL:  lock file "postmaster.pid" already exists HINT: Is another postmaster (PID 30063) running in data directory "/var/lib/pgsql/data"?

出现以下错误  could not change directory to "/root",由于在 postgres 中不能自动切换路径,解决方法bash

bash-4.2$ cd /usr/bin bash-4.2$ pwd /usr/bin bash-4.2$ ./pg_ctl -D /var/lib/pgsql/data start server starting

可能出现以下错误 pg_ctl: PID file "/var/lib/pgsql/data/postmaster.pid" does not exist,能够查看启动日志post

我操做时是由于磁盘满了,没法建立新的文件 postmaster.pid,清除缓存腾出一点空间便可。spa