Man page - pg_ctl(1)
Manual
PG_CTL
NAMESYNOPSIS
DESCRIPTION 描 述
OPTIONS 選 項
ENVIRONMENT 環 境
FILES 檔 案
NOTES 注 意
EXAMPLES 例 子
STARTING THE SERVER 啟 動 伺 服 器
STOPPING THE SERVER 停 止 伺 服 器
RESTARTING THE SERVER 重 起 伺 服 器
SHOWING THE SERVER STATUS 顯 示 伺 服 器 狀 態
SEE ALSO 參 見
譯 者
跋
NAME
pg_ctl - 啟 動 , 停 止 和 重 啟 PostgreSQL 伺 服 器
SYNOPSIS
pg_ctl start [ -w ] [ -s ] [ -D datadir ] [ -l filename ] [ -o options ] [ -p path ]
pg_ctl stop [ -W ] [ -s ] [ -D datadir ] [ -m s[mart] | f[ast] | i[mmediate] ]
pg_ctl restart [ -w ] [ -s ] [ -D datadir ] [ -m s[mart] | f[ast] | i[mmediate] ] [ -o options ]
pg_ctl reload [ -s ] [ -D datadir ]
pg_ctl status [ -D datadir ]
DESCRIPTION 描 述
pg_ctl 是 一 個 用 於 啟 動 , 停 止 , 或 者 重 起 PostgreSQL 後 端 伺 服 器 ( postmaster) , 或 者 顯 示 一 個 執 行 著 的 伺 服 器 的 狀 態 的 工 具 , 儘 管 我 們 可 以 手 動 啟 動 伺 服 器 , 但 是 pg_ctl 封 裝 了 重 新 定 向 日 誌 輸 出 , 與 終 端 和 程 序 組 合 理 分 離 , 以 及 另 外 提 供 了 一 個 選 項 用 於 有 控 制 的 關 閉 。
在 start 模 式 裡 會 啟 動 一 個 新 的 伺 服 器 。 伺 服 器 是 在 後 臺 啟 動 的 , 標 準 輸 入 被 附 著 到 了 /dev/null 上 。 如 果 使 用 了 -l, 那 麼 標 準 輸 出 和 標 準 錯 誤 被 定 向 到 一 個 日 誌 檔 案 , 要 麼 就 是 重 新 定 向 到 pg_ctl 的 標 準 輸 出 ( 而 不 是 標 準 錯 誤 ) 。 如 果 沒 有 選 定 日 誌 檔 案 , pg_ctl 的 標 準 輸 出 應 該 重 新 定 向 到 一 個 檔 案 或 者 用 管 道 輸 出 到 另 外 一 個 程 序 , 比 如 那 些 日 誌 旋 轉 程 式 , 否 則 , postmaster 將 把 它 的 輸 出 寫 到 控 制 終 端 ( 在 後 臺 ) 並 且 將 不 會 脫 離 shell 的 程 序 組 。
在 stop 模 式 下 , 那 個 正 在 特 定 資 料 目 錄 執 行 的 伺 服 器 被 關 閉 。 你 可 以 用 -m 選 項 選 擇 三 種 不 同 的 關 閉 模 式 : "Smart" 模 式 等 待 所 有 客 戶 端 中 斷 聯 接 。 這 個 是 預 設 。 "Fast" 模 式 並 不 等 待 客 戶 端 中 斷 聯 接 。 所 有 活 躍 事 務 都 被 回 捲 並 且 客 戶 端 都 強 制 斷 開 。 "Immediate" 模 式 將 在 沒 有 乾 淨 關 閉 的 情 況 下 退 出 。 這 麼 做 將 導 致 在 重 新 啟 動 的 時 候 的 恢 復 。
restart 實 際 上 是 先 執 行 一 個 停 止 , 然 後 緊 跟 一 個 啟 動 。 它 允 許 變 換 postmaster 命 令 列 的 選 項 。
reload 模 式 簡 單 地 給 postmaster 傳 送 一 個 SIGHUP 訊 號 , 導 致 它 重 新 讀 取 她 的 配 置 檔 案 ( postgresql.conf , pg_hba.conf 等 等 ) 這 樣 就 允 許 修 改 配 置 檔 案 選 項 而 不 用 完 全 重 啟 系 統 來 使 之 生 效 。
status 模 式 監 查 一 個 伺 服 器 是 否 在 指 定 的 資 料 目 錄 執 行 , 如 果 是 , 那 麼 顯 示 其 PID 和 呼 叫 它 的 命 令 列 選 項 。
OPTIONS 選 項
-D datadir
宣 告 該 資 料 庫 檔 案 的 檔 案 系 統 位 置 。 如 果 忽 略 這 個 選 項 , 使 用 環 境 變 數 PGDATA。
-l filename
把 伺 服 器 日 誌 輸 出 附 加 在 filename 檔 案 上 。 如 果 該 檔 案 不 存 在 , 那 麼 建 立 它 。 umask設 定 為 077, 因 此 預 設 時 是 不 允 許 從 其 它 使 用 者 向 日 志 文 件 訪 問 的 。
-m mode
宣 告 關 閉 模 式 。 mode 可 以 是 smart, fast, 或 者 immediate, 或 者 是 這 三 個 之 一 的 第 一 個 字 母 。
-o options
宣 告 要 直 接 傳 遞 給 postmaster 的 選 項 。
引 數 通 常 都 用 單 或 者 雙 引 號 包 圍 以 保 證 它 們 作 為 一 個 整 體 傳 遞 。
-p path
宣 告 postmaster 可 執 行 檔 案 的 位 置 。 預 設 時 postmaster 是 從 和 pg_ctl 相 同 的 目 錄 取 出 , 如 果 不 是 , 那 麼 就 是 寫 死 的 安 裝 目 錄 。 除 非 你 想 幹 點 什 麼 特 別 的 事 情 , 並 且 得 到 類 似 沒 有 找 到 postmaster這 樣 的 錯 誤 , 否 則 沒 有 必 要 使 用 這 個 選 項 。
|
-s |
只 打 印 錯 誤 , 而 不 列 印 提 示 性 資 訊 。
|
-w |
等 待 啟 動 或 者 關 閉 的 完 成 。 在 60 秒 後 超 時 。 這 個 引 數 是 關 閉 時 的 預 設 值 。 成 功 的 關 閉 是 以 刪 除 PID 檔 案 為 標 誌 的 。 對 於 啟 動 而 言 , 一 次 成 功 的 psql -l 就 標 誌 著 成 功 。 pg_ctl 將 檢 視 使 用 對 psql 合 適 的 埠 , 如 果 存 在 環 境 變 數 PGPORT, 那 麼 用 它 。 否 則 , 它 將 查 詢 看 看 在 postgresql.conf 檔 案 裡 面 是 否 設 定 了 一 個 埠 。 如 果 都 沒 有 , 它 將 使 用 PostgreSQL 編 譯 時 的 預 設 埠 ( 預 設 是 5432) 。
|
-W |
不 等 待 啟 動 或 者 停 止 的 完 成 。 這 是 啟 動 和 重 起 的 預 設 。
ENVIRONMENT 環 境
|
PGDATA |
預 設 資 料 目 錄 位 置
|
PGPORT |
psql (1) 的 預 設 埠 ( 由 -w 選 項 使 用 ) 。 |
其 它 的 環 境 變 數 , 參 閱 postmaster (1).
FILES 檔 案
postmaster.pid
這 個 檔 案 存 在 於 資 料 目 錄 中 是 為 了 幫 助 pg_ctl 判 斷 伺 服 器 當 前 是 否 在 執 行 。
postmaster.opts.default
如 果 這 個 檔 案 存 在 於 資 料 目 錄 , pg_ctl ( 在 start 模 式 下 ) 將 把 檔 案 地 內 容 當 作 傳 遞 給 postmaster 命 令 的 選 項 傳 遞 過 去 , 除 非 被 -o 選 項 覆 蓋 。
postmaster.opts
如 果 這 個 檔 案 存 在 於 資 料 目 錄 , pg_ctl ( 在 start 模 式 下 ) 將 把 檔 案 地 內 容 當 作 傳 遞 給 postmaster 命 令 的 選 項 傳 遞 過 去 , 除 非 被 -o 選 項 覆 蓋 。 這 個 檔 案 的 內 容 也 會 在 status 模 式 裡 顯 示 出 來 。
postgresql.conf
這 個 檔 案 在 資 料 目 錄 中 , 會 分 析 它 以 查 詢 和 psql 一 起 用 的 合 適 的 埠 ( 在 start 模 式 裡 給 出 -w 的 時 候 。 )
NOTES 注 意
等 待 完 全 啟 動 還 不 是 一 個 定 義 得 很 完 整 的 操 作 , 如 果 訪 問 控 制 設 定 為 本 地 客 戶 端 在 沒 有 手 工 互 動 的 情 況 下 不 能 訪 問 的 話 還 可 能 會 失 效 。 ( 比 如 , 口 令 認 證 ) 。
EXAMPLES 例 子
STARTING THE SERVER 啟 動 伺 服 器
啟 動 伺 服 器 :
$ pg_ctl start
啟 動 伺 服 器 的 一 個 例 子 , 等 到 伺 服 器 啟 動 了 才 退 出 :
$ pg_ctl -w start
用 於 一 個 postmaster 使 用 埠 5433, 而 且 不 帶 fsync 執 行 , 使 用 :
$ pg_ctl -o "-F -p 5433" start
STOPPING THE SERVER 停 止 伺 服 器
$ pg_ctl stop
停 止 伺 服 器 , 使 用 -m 開 關 允 許 我 們 控 制 如 何 把 後 端 停 下 來 。 -w等 待 伺 服 器 停 止 。 -m 聲 明 後 端 的 停 止 模 式 。
RESTARTING THE SERVER 重 起 伺 服 器
這 個 命 令 幾 乎 等 於 先 停 止 postmaster 然 後 再 啟 動 她 , 只 不 過 pg_ctl 儲 存 並 重 新 使 用 上 一 次 執 行 postmaster 的 命 令 列 引 數 。 重 起 伺 服 器 的 最 簡 單 的 方 法 是 :
$ pg_ctl restart
重 起 伺 服 器 , 等 待 其 停 止 和 重 起 :
$ pg_ctl -w restart
使 用 5433 重 起 並 且 重 起 後 關 閉 fsync:
$ pg_ctl -o "-F -p 5433" restart
SHOWING THE SERVER STATUS 顯 示 伺 服 器 狀 態
下 面 是 來 自 pg_ctl 的 狀 態 輸 出 的 例 子 :
$
pg_ctl
status
pg_ctl: postmaster is running (pid: 13718)
Command line was:
/usr/local/pgsql/bin/postmaster ’-D’
’/usr/local/pgsql/data’ ’-p’
’5433’ ’-B’ ’128’
這 是 在 重 起 模 式 裡 使 用 的 命 令 列 。
SEE ALSO 參 見
postmaster (1)
譯 者
Postgresql 中 文 網 站 何 偉 平 <laser@pgsqldb.org>
跋
本
頁 面 中 文 版 由
中 文 man 手 冊 頁 計
劃 提 供 。
中 文 man 手 冊 頁 計
劃 :
https://github.com/man-pages-zh/manpages-zh