您好,登錄后才能下訂單哦!
這期內(nèi)容當中小編將會給大家?guī)碛嘘P如何啟動與關閉postgresql ,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
利用psql啟動數(shù)據(jù)庫
[postgres@highgo ~]$ pg_ctl start
查看系統(tǒng)中運行的postgres進程
#ps -ef | grep postgres
連接postgresql數(shù)據(jù)庫
#psql -h 127.0.0.1 -d postgres -U postgres
停止postgresql數(shù)據(jù)庫實例
#pg_ctl stop #ps -ef | grep postgres
啟動服務器最簡單的方法是像下面這樣:
$ postgres -D /usr/local/pgsql/data
最好在后臺啟動postgres,使用下面的 Unix shell 語法:
$ postgres -D /usr/local/pgsql/data >logfile 2>&1 &
要做一次快速關閉:
$ kill -INT `head -1 /usr/local/pgsql/data/postmaster.pid`
如果啟動失敗提示一下信息
LOG: could not bind IPv4 socket: Address already in use HINT: Is another postmaster already running on port 5432? If not, wait a few seconds and retry. FATAL: could not create TCP/IP listen socket
查看端口在用
netstat -lanp|grep 5432 ps -ef|grep postgres 498 673 1 0 10:50 ? 00:00:00/usr/bin/postgres -D /var/lib/cloudera-scm-server-db/data
kill進程
kill -9 673
重啟啟動服務
service start service status
補充:PostgreSQL 四種進程啟動方式
Postgres在啟動后,可分別以一下四種形式啟動進程:
1、SubPostmasterMain
2、AuxiliaryProcessMain
3、PostgresMain
4、PostmasterMain
指明由postmaster派生
設置進程ID
初始化內(nèi)存池
處理輸入?yún)?shù)
運行相應的backend或子進程
–forkbackend或–forkboot
1) 關聯(lián)到共享內(nèi)存
2) 初始化共享內(nèi)存訪問(UsedShmemSegAddr)
3) 初始化AuxiliaryProcess
4) 創(chuàng)建共享內(nèi)存和信號量
5) 啟動AuxiliaryProcessMain
–forkavlauncher
1) 關聯(lián)到共享內(nèi)存
2) AutovacuumLauncherIAm()
3) 初始化共享內(nèi)存訪問(UsedShmemSegAddr)
4) 初始化AuxiliaryProcess
5) 創(chuàng)建共享內(nèi)存和信號量
6) 啟動AutoVacLauncherMain
–forkavworker
1) 關聯(lián)到共享內(nèi)存
2) AutovacuumLauncherIAm()
3) 初始化共享內(nèi)存訪問(UsedShmemSegAddr)
4) 初始化AuxiliaryProcess
5) 創(chuàng)建共享內(nèi)存和信號量
6) 啟動AutoVacWorkerMain
–forkarch
1) 啟動PgArchiverMain
–forkcol
1) 啟動PgstatCollectorMain
–forklog
1) 啟動SysLoggerMain
設置進程ID
初始化內(nèi)存池
設置路徑、時間等變量
初始化GUC選項,處理輸入?yún)?shù)
以BootstrapProcessing模式初始化一個backend:ipc, lock, file, storage, buffer
設置信號處理句柄
以NormalProcessing狀態(tài)針對不同auxType分別進行以下處理
a) CheckerProcess
1) 啟動CheckerModeMain
b) BooststrapProcess
1) BootstrapXLOG
2) 啟動XLOG
3) 啟動BootstrapModeMain
c) StartupProcess
1) 啟動XLOG
2) 加載FreeSpaceMap
3) BuildFlatFiles(false)
d) BgWriterProcess
1) 初始化XLOG訪問
2) 啟動BackgroundWriterMain
e) WalWriterProcess
1) 初始化XLOG訪問
2) 啟動WalWriterMain
設置進程ID
初始化內(nèi)存池
設置路徑、時間等變量
初始化GUC選項,處理輸入?yún)?shù)和其他startup packet中的參數(shù)
設置信號處理句柄
初始化一個backend(無論它是否由postmaster生成):ipc, lock, file, storage, buffer
啟動XLOG
加載FreeSpaceMap
初始化進程
初始化表緩存和系統(tǒng)目錄訪問
處理預加載的庫
轉到MessageContext內(nèi)存池
進入查詢處理主循環(huán)
設置進程ID
初始化內(nèi)存池
設置路徑、時間等變量
初始化GUC選項,處理輸入?yún)?shù)并載入hba和ident
設置共享內(nèi)存和信號量,初始化共享數(shù)據(jù)結構
設置信號處理句柄
啟動守護進程:
(1) syslogger:收集其他其他進程的日志輸出,寫入到文件
(2) stats daemon:通過UDP獲取各backend的運行時統(tǒng)計信息
(3) autovacuum launcher:定期進行表空間的自動清理
由參數(shù)forkboot啟動一個backend
綁定到TCP socket,監(jiān)聽連接請求
上述就是小編為大家分享的如何啟動與關閉postgresql 了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業(yè)資訊頻道。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。