[ 永遠的UNIX::UNIX技術資料的寶庫 ]   GB | BIG5

首頁 > 數據庫 > 其它 > 正文
PostgreSQL7.0手冊-用戶手冊-20. 應用 - pg_ctl
編譯:何偉平 laser@zhengmai.com.cn (2001-04-21 22:22:21)
pg_ctl
名稱
pg_ctl  --  啟動,停止,和重起 postmaster
語法
pg_ctl [-w] [-D datadir][-p path] [-o "options"] start
pg_ctl [-w] [-D datadir] [-m [s[mart]|f[ast]|i[mmediate]]] stop
pg_ctl [-w] [-D datadir] [-m [s[mart]|f[ast]|i[mmediate]]
    [-o "options"] restart
pg_ctl [-D datadir] status
輸入
-w 
通過觀察 pid 文件(PGDATA/postmaster.pid)的創建,等待數據庫服務器的啟動.在 60 秒超時. 
-D datadir 
聲明這個數據庫安裝的數據庫位置. 
-p path 
聲明 postmaster 影象的位置. 
-o "options" 
聲明直接傳遞給 postmaster 的選項. 
  
  

通常這些參數用單或雙引號引起,以保証它們以一組的方式傳遞. 

-m mode 
  
  

聲明關閉模式. 

smart, s 
智能模式,等待所有客戶端退出.這是缺省. 
f[ast], f 
快速模式,向端發送 SIGTERM,這意味著活躍的事務都回卷. 
immediate, i 
立即模式,向端發送 SIGUSR1 並且讓它們退出.在這種模式,下一次啟動將必須進行數據庫恢復工作.
start 
啟動 postmaster. 
stop 
關閉 postmaster. 
restart 
重新啟動 postmaster,執行一次順序的 stop/start. 
status 
顯示 postmaster 的當前狀態.
輸出
pg_ctl: postmaster is state (pid: #) 
  
  

Postmaster 狀態.

如果存在一個錯誤條件,將顯示出端的錯誤信息.
描述
pg_ctl 是一個用啟動,停止和重起 postmaster 的工具.
用法
啟動 postmaster
要啟動 postmaster: 
> pg_ctl start
如果使用了 -w,pg_ctl 等待數據庫服務器啟動-通過觀察 pid 文件(PGDATA/postmaster.pid)的創建,最多等待 60 秒. 
激活 postmaster 的參數從下面的資源裡獲取: 

postmaster 的路徑:在命令搜索路徑裡查找. 
數據庫目錄:PGDATA 環境變量. 

其他參數:PGDATA/postmaster.opts.default.

postmaster.opts.default 包含用 postmaster 的參數.缺省安裝時,打開了 -S 選項.因此 pg_ctl start 隱含地是: 
postmaster -S
請注意 postmaster.opts.default 是由 initdb 從 Postgres 的安裝目錄(lib/postmaster.opts.default.sample 是安裝 Postgres 時從 src/bin/pg_ctl/postmaster.opts.default.sample )裡的?lib/postmaster.opts.default.sample 拷貝來的. 
要覆蓋缺省的參數,你可以使用 -D,-p 和 -o 選項. 

一個啟動 postmaster,並等到l postmaster 啟動才退出的例子是: 

> pg_ctl -w start
要聲明 postmaster 二進制路徑,試試: 
> pg_ctl -p /usr/local/pgsq/bin/postmaster start
對一個使用端口5433,並且運行在無磁盤同步的模式的 postmaster,使用: 
> pg_ctl -o "-o -F -p 5433" start
停止 postmaster
> pg_ctl stop
停止 postmaster.使用 -m 開關以允許我們控制端是如何停止的.-w 等待 postmaster 停止.-m 聲明停止的模式.
重起 postmaster
這個功能幾乎等同停止 postmaster 然再次啟動它-除了停止它前的參數還要使用以外.這是通過在 $PGDATA/postmaster.opts 文件裡存儲這些參數實現的.-w,-D,-m,-fast,-immediate 也可以在重起模式使用,並且和上面有一樣的含義. 
要用最簡單的方法重起 postmaster: 

> pg_ctl restart
要重起 postmaster,等它停止並重新啟動: 
> pg_ctl -w restart
要在 5433 端口重起並且重起關閉 fsync: 
> pg_ctl -o "-o -F -p 5433" restart
postmaster 狀態
要從 postmaster 獲取狀態信息: 
> pg_ctl status
下面是一些從 pg_ctl 裡的例子: 
pg_ctl: postmaster is running (pid: 13718)
options are:
/usr/local/src/pgsql/current/bin/postmaster
-p 5433
-D /usr/local/src/pgsql/current/data
-B 64
-b /usr/local/src/pgsql/current/bin/postgres
-N 32
-o '-F' (http://www.fanqiang.com)
    進入【UNIX論壇

相關文章
PostgreSQL7.0手冊-附錄-文檔 (2001-04-21 23:50:44)
PostgreSQL7.0手冊-附錄-日期/時間支持-CVS 倉庫 (2001-04-21 23:48:48)
PostgreSQL7.0手冊-教程 -73. Postgres SQL 高級特性 (2001-04-21 23:45:36)
PostgreSQL7.0手冊-教程 -72. 查詢語言 (2001-04-21 23:44:40)
PostgreSQL7.0手冊-教程 -71. 開始 (2001-04-21 23:42:54)
PostgreSQL7.0手冊-教程 -70. 體系結構 (2001-04-21 23:41:58)
PostgreSQL7.0手冊-教程 -69. SQL (2001-04-21 23:41:23)
PostgreSQL7.0手冊-開發者手冊 -68. 分頁文件 (2001-04-21 23:39:22)
PostgreSQL7.0手冊-開發者手冊 -67. 端接口 (2001-04-21 23:38:34)
PostgreSQL7.0手冊-開發者手冊 -66. gcc 缺省優化 (2001-04-21 23:37:20)

===更多相關===
 

★  樊強制作 歡迎分享  ★