PostgreSQL:啟動與停止
本文分享自天翼雲開發者社群 @《PostgreSQL:啟動與停止》,作者: 周*****平
連結:
https://www.ctyun.cn/developer/article/358337908486292?track=|cp:cz_bk|tgdy:wenzhang|ttjh:bokeshequ|key:bw298|pf:PC
啟動和停止 PostgreSQL 資料庫伺服器,通常使用pg_ctl。通常在我們的生產環境中,如果資料庫主機發生意外停機或者由於計劃內的硬體配置等操作停止了主機後,PostgreSQL 服務也將會停止,需要手動重啟。因此,在生產環境中,採用編譯安裝 PostgreSQL 資料庫後,建議配置系統 postgresql.service 服務,透過 systemctl 系統命令設定開機自動啟動。
使用 systemctl 命令
配置 systemctl 服務
配置該服務之後, Redhat Linux 就可以使用 systemctl 系統控制命令來啟動 PostgreSQL 資料庫了。
1. 使用 root 使用者切換到 /usr/lib/systemd/system 目錄,編輯 postgresql-12.service 檔案,該檔案預設不存在,需要手動編輯,如下:
vi postgresql-12.service
[Unit]
Description=PostgreSQL database server
After=network.target
[Service]
Type=forking
User=postgres
Group=postgres
Environment=PGPORT=5432
Environment=PGDATA=/data/pg_data/
OOMScoreAdjust=-1000
ExecStart=/opt/pgsql/bin/pg_ctl start -D ${PGDATA} -s -o "-p ${PGPORT}" -w -t 300
ExecStop=/opt/pgsql/bin/pg_ctl stop -D ${PGDATA} -s -m fast
ExecReload=/opt/pgsql/bin/pg_ctl reload -D ${PGDATA} -s
TimeoutSec=300
[Install]
WantedBy=multi-user.target
2. 然後之下下列命令啟用服務控制守護
[root@node1 pg_data] # systemctl daemon-reload
3. 使用 systemctl系統服務控制命令啟動 postgresql
[root@node1 pg_data] # systemctl start postgresql-12.service
4. 配置開機啟動
[root@node1 pg_data] # systemctl enable postgresql-12.service
簡介 systemctl 命令
1.
使用
systemctl 命令停止資料庫
[sdedu@root:/root]#systemctl stop postgresql-12.service
2.
使用
sytsemctl 命令啟動資料庫
[sdedu@root:/root]#systemctl start postgresql-12.service
3.
使用
systemctl 命令啟用資料庫服務開機後自動啟動
[sdedu@root:/root]#systemctl enable postgresql-12.service
使用 pg_ctl 命令
pg_ctl 命令為 PostgreSQL 服務端應用程式,可以用來初始化,啟動和停止及控制 PostgreSQL 伺服器。
pg_ctl 語法格式:
初始化資料庫
pg_ctl init[db] [-D DATADIR] [-s] [-o OPTIONS]
啟動資料庫
pg_ctl start [-D DATADIR] [-l FILENAME] [-W] [-t SECS] [-s] [-o OPTIONS] [-p PATH] [-c]
關閉資料庫
pg_ctl stop [-D DATADIR] [-M SHUTDOWN-MODE] [-W]
重啟資料庫
pg_ctl 重新啟動 [-D DATADIR] [-m SHUTDOWN-MODE] [-W] [-t SECS] [-s] [-o OPTIONS] [-c]
重新載入
postgresql.conf 或 pg_hba.conf 檔案
pg_ctl reload [-D DATADIR] [-s]
檢視伺服器是否在指定的資料目錄執行
pg_ctl status [-D DATADIR]
pg_ctl提升 [-D DATADIR] [-W] [-t SECS] [-s]
pg_ctl logrotate [-D DATADIR] [-s]
pg_ctl殺死訊號名PID
命令選項
-D, --pgdata=DATADIR:指定資料庫相關檔案的資料目錄,如果省略,預設讀取 PGDATA 環境變數
-s, --silent:靜默輸出,僅僅輸出錯誤訊息
-t, --timeout=SECS:指定等待操作完成的最大延時秒數。預設為 PGCTLTIMEOUT 環境變數的值,如果省略,預設60秒
-V, --版本輸出版本資訊,然後退出
-w, --wait:等待操作完成,如果操作在延遲時間內未完成,pg_ctl 退出狀態為非零
-W, --no-wait:不等待操作完成,不會提示資料庫停止是否完成
啟動 & 重啟選項
-c, --core-files 允許 postgres 生成核心檔案
-l, --log=FILENAME:將伺服器日誌輸出追加到 filename中,也叫做伺服器日誌檔案。如果該檔案的 umask 設定為077,訪問日誌檔案預設情況下其它使用者不可讀。
-o, --options=OPTIONS 命令列選項,以傳遞給 postgres(PostgreSQL 伺服器可執行檔案)或 initdb
-p 路徑到POSTGRES通常不是必需的
啟動 & 停止選項
-m, --mode=MODE:指定關閉資料庫的模式,有三個選項,smart,fast,immediate,省略預設為fast
關庫選項
smart:smart模式會等待活動的事務提交結束, 並等待客戶端主動斷開連線之後關閉資料庫
fast:fast模式則會回滾所有活動的事務, 並強制斷開客戶端的連線之後關閉資料庫(預設)
立即:模式立即終止所有伺服器程式,當下一次資料庫啟動時它會首先進入恢復狀態(不推薦使用)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31490526/viewspace-2711965/,如需轉載,請註明出處,否則將追究法律責任。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70014251/viewspace-2937764/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Hacmp中cluster的啟動與停止ACM
- oracle 啟動停止Oracle
- linux下Oracle自動啟動與停止總結LinuxOracle
- nginx啟動,停止命令Nginx
- 菜鳥經驗:oracle與weblogic自動啟動與停止(轉)OracleWeb
- 啟動和停止任務
- Oracle之 服務啟動&停止指令碼與開機自啟動(單例項)Oracle指令碼單例
- nginx啟動命令和停止命令。Nginx
- 啟動和停止資料庫.資料庫
- ORACLERAC+HPMC停止啟動文件Oracle
- CentOS如何啟動PostgreSQLCentOSSQL
- Ubuntu 下啟動/停止/重啟mysql服務UbuntuMySql
- Android 啟動和停止服務Android
- storm叢集啟動停止指令碼ORM指令碼
- ORACLE EXPDP IMPDP 中停止和啟動Oracle
- AIX下自動啟動/停止Oracle資料庫AIOracle資料庫
- Linux常用軟體啟動、停止、重啟命令Linux
- linux平臺下監聽器和Oracle的自動啟動與停止LinuxOracle
- 4.1.4 關於啟動和停止Oracle RestartOracleREST
- Redis 原始碼安裝以及啟動、停止Redis原始碼
- Windows下Nginx的啟動、停止等命令WindowsNginx
- 怎麼啟動postgresql服務SQL
- Windows 安裝包啟動PostgresqlWindowsSQL
- postgresql隨機啟動設定SQL隨機
- PostgreSQL vacuum原理—啟動機制SQL
- Oracle TNSListener服務啟動後自動停止問題Oracle
- [筆記] nginx 兩種方式 啟動 重啟 停止 升級筆記Nginx
- 聊聊Dubbo(八):核心原始碼-容器啟動/停止原始碼
- 檢視CentOS上Apache位置,版本,停止,啟動CentOSApache
- MySQL學習筆記之啟動停止與登入,顯示相關資訊MySql筆記
- postgresql的安裝和啟動方法SQL
- hyperf 啟動、重啟、停止、檔案變化監聽命令包
- 怎樣啟動停止重啟MySQL資料庫伺服器MySql資料庫伺服器
- ORACLE EXPDP IMPDP 的停止和啟動及監控Oracle
- 4.3 Oracle Restart元件實現oracle啟動和停止OracleREST元件
- redis 學習筆記(1)-編譯、啟動、停止Redis筆記編譯
- mysql例項停止、啟動、配置遠端訪問MySql
- nginx命令:啟動,停止及命令引數詳解Nginx