PostgreSql中pg_ctl命令示例代碼
一、概述
控制 PostgreSQL 服務(wù)的工具。
二、語法
--初始化數(shù)據(jù)庫實例 pg_ctl init[db] [-D datadir] [-s] [-o initdb-options] --啟動數(shù)據(jù)庫實例 pg_ctl start [-D datadir] [-l filename] [-W] [-t seconds] [-s] [-o options] [-p path] [-c] --停止數(shù)據(jù)庫實例 pg_ctl stop [-D datadir] [-m s[mart] | f[ast] | i[mmediate] ] [-W] [-t seconds] [-s] --重啟數(shù)據(jù)庫實例 pg_ctl restart [-D datadir] [-m s[mart] | f[ast] | i[mmediate] ] [-W] [-t seconds] [-s] [-o options] [-c] --重新加載數(shù)據(jù)庫配置文件 pg_ctl reload [-D datadir] [-s] --查看數(shù)據(jù)庫狀態(tài) pg_ctl status [-D datadir] --備庫切換為主庫 pg_ctl promote [-D datadir] [-W] [-t seconds] [-s] --輪換服務(wù)器日志文件 pg_ctl logrotate [-D datadir] [-s] --向一個指定進程發(fā)送一個消息 pg_ctl kill signal_name process_id --注冊服務(wù)(Windows) pg_ctl register [-D datadir] [-N servicename] [-U username] [-P password] [-S a[uto] | d[emand] ] [-e source] [-W] [-t seconds] [-s] [-o options] --移除服務(wù)(Windows) pg_ctl unregister [-N servicename]
init 或 initdb:調(diào)用initdb命令。詳見initdb。
參數(shù)說明:
-c 或 --core-files:生成服務(wù)器崩潰產(chǎn)生核心文件。
-D datadir 或 --pgdata=datadir:指定數(shù)據(jù)庫數(shù)據(jù)文件位置。如果這個選項被忽略,將使用環(huán)境變量 PGDATA。
-l filename 或 --log=filename:追加服務(wù)器日志輸出到 filename。
-m mode 或 --mode=mode:指定關(guān)閉模式。mode 可以是 smart、fast 或 immediate,或者這三者之一的第一個字母。如果這個選項被忽略,則 fast 是默認值。
-o options 或 --options=options:指定被直接傳遞給 postgres 命令的選項。-o 可以被指定多次,所有給定的選項都會被傳過去。這些選項應(yīng)該通常被單引號或雙引號包圍來確保它們被作為一個組傳遞。
-o initdb-options 或 --options=initdb-options:指定要直接傳遞給 initdb 命令的選項。-o 可以被指定多次,所有給定的選項都會被傳過去。這些選項應(yīng)該通常被單引號或雙引號包圍來確保它們被作為一個組傳遞。
-p path:指定 postgres 可執(zhí)行程序的位置。默認情況下,postgres 可執(zhí)行程序可以從 pg_ctl 相同的目錄得到,或者如果沒有在那里找到,則在硬寫的安裝目錄中獲得。除非你正在做一些不同尋常的事并且得到錯誤說沒有找到 postgres 可執(zhí)行程序,這個選項不是必需的。在 init 模式中,這個選項類似于指定了initdb可執(zhí)行程序的位置。
-s 或 --silent:只打印錯誤,不打印信息性的消息。
-t seconds 或 --timeout=seconds:指定等待一個操作完成時要等待的最大秒數(shù)(見選項 -w)。默認為 PGCTLTIMEOUT 環(huán)境變量的值,如果該環(huán)境變量沒有設(shè)置則默認為60秒。
-V 或 --version:打印 pg_ctl 版本并退出。
-w 或 --wait:等待操作完成。模式 start、stop、restart、promote 以及 register 支持這個選項,并且對那些模式是默認的。在等待時,pg_ctl 會一遍又一遍地檢查服務(wù)器的 PID 文件,在兩次檢查之間會休眠一小段時間。當(dāng) PID 文件指示該服務(wù)器已經(jīng)做好準備接受連接時,啟動操作被認為完成。當(dāng)服務(wù)器移除 PID 文件時,關(guān)閉操作被認為完成。pg_ctl 會基于啟動或關(guān)閉的成功與否返回一個退出代碼。如果操作在超時時間(見選項-t)內(nèi)未能完成,則 pg_ctl 會以一個非零退出狀態(tài)退出。但是注意該操作可能會在后臺繼續(xù)進行并且最終取得成功。
-W 或 --no-wait:不等待操作完成。這是選項 -w 的對立面。如果禁用等待,所請求的動作會被觸發(fā),但是不會有關(guān)于其成功與否的反饋。在這種情況下,可能必須用服務(wù)器日志文件或外部監(jiān)控系統(tǒng)來檢查該操作的進度以及成功與否。在以前版本的PostgreSQL中,這是除 stop 模式之外的模式的默認選項。
參數(shù)說明(Windows):
-e source:作為一個 Windows 服務(wù)運行時,pg_ctl 用來在事件日志中記錄日志的事件源的名稱。默認是 PostgreSQL。注意這只控制由 pg_ctl 本身發(fā)送的消息,一旦開始,服務(wù)器將使用 event_source 參數(shù)中指定的事件源。如果服務(wù)器在啟動時很早(在該參數(shù)被設(shè)置前)就失敗,它可能也會使用默認的事件源名稱 PostgreSQL 來記錄。
-N servicename:要注冊的系統(tǒng)服務(wù)的名稱。這個名稱將被用于服務(wù)名和顯示名。默認 PostgreSQL。
-P password:用于運行該服務(wù)的用戶的口令。
-S start-type:要注冊的系統(tǒng)服務(wù)的啟動類型。啟動類型可以是 auto、demand 或者兩者之一的第一個字母。如果這個選項被忽略,則 auto 是默認值。
-U username:用于運行該服務(wù)的用戶的用戶名。對于域用戶,使用格式 DOMAIN\username。
三、示例
--啟動 pg_ctl start --要使用端口 5433 啟動,并且運行時不使用fsync: pg_ctl -o "-F -p 5433" start --停止 pg_ctl stop pg_ctl stop -m smart --重啟 pg_ctl restart --如果指定了-o,則會替換任何之前的選項。要使用端口 5433 重啟并在重啟時禁用fsync: pg_ctl -o "-F -p 5433" restart --查看狀態(tài) pg_ctl status pg_ctl: server is running (PID: 13718) /usr/local/pgsql/bin/postgres "-D" "/usr/local/pgsql/data" "-p" "5433" "-B" "128" 第二行是在重啟模式可能被調(diào)用的命令行。
總結(jié)
到此這篇關(guān)于PostgreSql中pg_ctl命令的文章就介紹到這了,更多相關(guān)pgsql pg_ctl命令內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Linux 上 定時備份postgresql 數(shù)據(jù)庫的方法
這篇文章主要介紹了Linux 上 定時備份postgresql 數(shù)據(jù)庫的方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-02-02Postgresql常用函數(shù)及使用方法大全(看一篇就夠了)
使用函數(shù)可以極大的提高用戶對數(shù)據(jù)庫的管理效率,函數(shù)表示輸入?yún)?shù)表示一個具有特定關(guān)系的值,下面這篇文章主要給大家介紹了關(guān)于Postgresql常用函數(shù)及使用方法的相關(guān)資料,需要的朋友可以參考下2022-11-11使用PostgreSQL為表或視圖創(chuàng)建備注的操作
這篇文章主要介紹了使用PostgreSQL為表或視圖創(chuàng)建備注的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01PostgreSQL12同步流復(fù)制搭建及主備切換方式
這篇文章主要介紹了PostgreSQL12同步流復(fù)制搭建及主備切換方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03PostgreSQL容器磁盤I/O監(jiān)控與優(yōu)化指南
在數(shù)據(jù)庫運維工作中,磁盤 I/O 性能直接影響著 PostgreSQL 的查詢響應(yīng)速度和事務(wù)處理能力,本文給大家介紹了PostgreSQL容器磁盤I/O監(jiān)控與優(yōu)化指南,需要的朋友可以參考下2025-05-05免密使用PostgreSQL數(shù)據(jù)庫內(nèi)置工具的兩種方法
我們在PostgreSQL數(shù)據(jù)庫自帶的各種工具時,每次使用都要輸入數(shù)據(jù)庫密碼,這里我們通過配置的方式,以后再使用這些工具就不需要輸入數(shù)據(jù)庫密碼了,需要的朋友可以參考下2025-03-03使用PostgreSQL數(shù)據(jù)庫建立用戶畫像系統(tǒng)的方法
這篇文章主要介紹了使用PostgreSQL數(shù)據(jù)庫建立用戶畫像系統(tǒng),下面使用一個具體的例子來說明如何使用PostgreSQL的json數(shù)據(jù)類型來建立用戶標(biāo)簽數(shù)據(jù),需要的朋友可以參考下2022-10-10