主頁 > 知識庫 > postgresql 實現(xiàn)啟動、狀態(tài)查看、關(guān)閉

postgresql 實現(xiàn)啟動、狀態(tài)查看、關(guān)閉

熱門標簽:合肥公司外呼系統(tǒng)運營商 外呼調(diào)研系統(tǒng) 海豐有多少商家沒有地圖標注 地圖標注和圖片名稱的區(qū)別 美容工作室地圖標注 打電話智能電銷機器人授權(quán) 重慶自動外呼系統(tǒng)定制 漯河外呼電話系統(tǒng) 辦公外呼電話系統(tǒng)

利用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

啟動服務(wù)器最簡單的方法是像下面這樣:

$ postgres -D /usr/local/pgsql/data

最好在后臺啟動postgres,使用下面的 Unix shell 語法:

$ postgres -D /usr/local/pgsql/data >logfile 2>1 

要做一次快速關(guān)閉:

$ 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

重啟啟動服務(wù)

service start
service status

補充:PostgreSQL 四種進程啟動方式

Postgres在啟動后,可分別以一下四種形式啟動進程:

1、SubPostmasterMain

2、AuxiliaryProcessMain

3、PostgresMain

4、PostmasterMain

SubPostmasterMain(–fork)

指明由postmaster派生

設(shè)置進程ID

初始化內(nèi)存池

處理輸入?yún)?shù)

運行相應(yīng)的backend或子進程

–forkbackend或–forkboot

1) 關(guān)聯(lián)到共享內(nèi)存

2) 初始化共享內(nèi)存訪問(UsedShmemSegAddr)

3) 初始化AuxiliaryProcess

4) 創(chuàng)建共享內(nèi)存和信號量

5) 啟動AuxiliaryProcessMain

–forkavlauncher

1) 關(guān)聯(lián)到共享內(nèi)存

2) AutovacuumLauncherIAm()

3) 初始化共享內(nèi)存訪問(UsedShmemSegAddr)

4) 初始化AuxiliaryProcess

5) 創(chuàng)建共享內(nèi)存和信號量

6) 啟動AutoVacLauncherMain

–forkavworker

1) 關(guān)聯(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

AuxiliaryProcessMain(–boot)

設(shè)置進程ID

初始化內(nèi)存池

設(shè)置路徑、時間等變量

初始化GUC選項,處理輸入?yún)?shù)

以BootstrapProcessing模式初始化一個backend:ipc, lock, file, storage, buffer

設(shè)置信號處理句柄

以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

PostgresMain(–single)

設(shè)置進程ID

初始化內(nèi)存池

設(shè)置路徑、時間等變量

初始化GUC選項,處理輸入?yún)?shù)和其他startup packet中的參數(shù)

設(shè)置信號處理句柄

初始化一個backend(無論它是否由postmaster生成):ipc, lock, file, storage, buffer

啟動XLOG

加載FreeSpaceMap

初始化進程

初始化表緩存和系統(tǒng)目錄訪問

處理預(yù)加載的庫

轉(zhuǎn)到MessageContext內(nèi)存池

進入查詢處理主循環(huán)

PostmasterMain

設(shè)置進程ID

初始化內(nèi)存池

設(shè)置路徑、時間等變量

初始化GUC選項,處理輸入?yún)?shù)并載入hba和ident

設(shè)置共享內(nèi)存和信號量,初始化共享數(shù)據(jù)結(jié)構(gòu)

設(shè)置信號處理句柄

啟動守護進程:

(1) syslogger:收集其他其他進程的日志輸出,寫入到文件

(2) stats daemon:通過UDP獲取各backend的運行時統(tǒng)計信息

(3) autovacuum launcher:定期進行表空間的自動清理

由參數(shù)forkboot啟動一個backend

綁定到TCP socket,監(jiān)聽連接請求

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • PostgreSQL 默認權(quán)限查看方式
  • Postgresql - 查看鎖表信息的實現(xiàn)
  • 查看postgresql數(shù)據(jù)庫用戶系統(tǒng)權(quán)限、對象權(quán)限的方法
  • PostgreSQL 查看數(shù)據(jù)庫,索引,表,表空間大小的示例代碼
  • PostgreSQL查看正在執(zhí)行的任務(wù)并強制結(jié)束的操作方法

標簽:晉城 烏海 錦州 來賓 衡陽 珠海 蚌埠 株洲

巨人網(wǎng)絡(luò)通訊聲明:本文標題《postgresql 實現(xiàn)啟動、狀態(tài)查看、關(guān)閉》,本文關(guān)鍵詞  postgresql,實現(xiàn),啟動,狀態(tài),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《postgresql 實現(xiàn)啟動、狀態(tài)查看、關(guān)閉》相關(guān)的同類信息!
  • 本頁收集關(guān)于postgresql 實現(xiàn)啟動、狀態(tài)查看、關(guān)閉的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章