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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 四、Docker的啟動與停止Docker
- nginx啟動,停止命令Nginx
- 啟動和停止任務
- nginx啟動命令和停止命令。Nginx
- [springboot]一啟動就自動停止了Spring Boot
- Linux常用軟體啟動、停止、重啟命令Linux
- CentOS如何啟動PostgreSQLCentOSSQL
- storm叢集啟動停止指令碼ORM指令碼
- Window下啟動/停止Zookeeper服務
- systemctl 命令在 Linux 中啟動、停止和重新啟動服務Linux
- 4.1.4 關於啟動和停止Oracle RestartOracleREST
- 在Linux中,如何啟動、停止或重啟服務?Linux
- Nginx的常用命令(啟動重啟停止等)Nginx
- jQuery: 動畫佇列與停止動畫 stopjQuery動畫佇列
- 聊聊Dubbo(八):核心原始碼-容器啟動/停止原始碼
- 檢視CentOS上Apache位置,版本,停止,啟動CentOSApache
- 深入淺出Tomcat/2 - Tomcat啟動和停止Tomcat
- Windows 安裝包啟動PostgresqlWindowsSQL
- 怎麼啟動postgresql服務SQL
- hyperf 啟動、重啟、停止、檔案變化監聽命令包
- ORACLE EXPDP IMPDP 的停止和啟動及監控Oracle
- shell指令碼監控啟動停止weblogic服務指令碼Web
- 4.3 Oracle Restart元件實現oracle啟動和停止OracleREST元件
- linux停止和檢視啟動服務的命令Linux
- postgresql的安裝和啟動方法SQL
- PostgreSQL的安裝和啟動方法大全SQL
- Ubuntu下啟動、停止、重啟MySQL,檢視錯誤日誌命令大全UbuntuMySql
- 設定Oralce啟動和停止的批處理檔案
- 4.4 停止和重新啟動Oracle Restart進行維護操作OracleREST
- Nginx學習系列三Nginx的啟動、停止、修改配置檔案後重啟Nginx
- Systemd 服務:比啟動停止服務更進一步
- 何時停止設計並啟動實施程式設計? - Alter程式設計
- jQuery 效果 – 停止動畫jQuery動畫
- 利用WinSW將Nginx 作為可正常啟動/停止的windows服務NginxWindows
- PostgreSQL啟動恢復透過checkpoint open wal檔案SQL
- MySQL配置與啟動MySql
- MongoDB配置與啟動MongoDB
- LightDB/Postgresql 記錄客戶端啟動版本問題導致啟動失敗問題SQL客戶端