PostgreSQL-pg_ctl


命令簡介

pg_ctl 啟動、關閉、重啟 postgres

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-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,可以查看啟動日志

我操作時是因為磁盤滿了,無法創建新的文件 postmaster.pid,清除緩存騰出一點空間即可。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM