Man page - postgres(1)

Manual

POSTGRES

NAME
SYNOPSIS
DESCRIPTION 描 述
OPTIONS 選 項
GENERAL PURPOSE 通 用 用 途
OPTIONS FOR STAND-ALONE MODE 單 使 用 者 模 式 的 選 項
SEMI-INTERNAL OPTIONS 半 內 部 選 項
ENVIRONMENT 環 境
NOTES 注 意
USAGE 用 法
SEE ALSO 參 見
譯 者


NAME

postgres - 以 單 使 用 者 模 式 執 行 一 個 PostgreSQL伺 服 器

SYNOPSIS

postgres [ -A 0 | 1 ] [ -B nbuffers ] [ -c name = value ] [ -d debug-level ] [ --describe-config ] [ -D datadir ] [ -e ] [ -E ] [ -f s | i | t | n | m | h ] [ -F ] [ -N ] [ -o filename ] [ -O ] [ -P ] [ -s | -t pa | pl | ex ] [ -S sort-mem ] [ -W seconds ] [ -- name = value ] database

postgres [ -A 0 | 1 ] [ -B nbuffers ] [ -c name = value ] [ -d debug-level ] [ -D datadir ] [ -e ] [ -f s | i | t | n | m | h ] [ -F ] [ -o filename ] [ -O ] [ -p database ] [ -P ] [ -s | -t pa | pl | ex ] [ -S sort-mem ] [ -v protocol ] [ -W seconds ] [ -- name = value ]

DESCRIPTION 描 述

可 執 行 程 式 postgres 是 真 正 處 理 查 詢 的 PostgreSQL 伺 服 器 程 序 。 通 常 它 是 不 會 被 直 接 呼 叫 的 ; 而 是 啟 動 一 個 postmaster 多 使 用 者 伺 服 器 。

上 面 的 第 二 種 形 式 就 是 postmaster (1) 呼 叫 postgres 的 方 法 ( 只 是 概 念 上 的 , 因 為 postmaster 和 postgres 實 際 上 是 一 樣 的 程 式 ) ; 我 們 不 能 這 樣 直 接 呼 叫 它 。 第 一 種 形 式 以 互 動 單 使 用 者 模 式 直 接 呼 叫 該 伺 服 器 。 這 種 用 法 的 主 要 用 途 是 在 initdb 做 初 始 化 時 用 。 有 時 候 它 被 用 做 除 錯 災 難 性 恢 復 。

當 從 shell 上 以 互 動 模 式 呼 叫 時 , 使 用 者 可 以 輸 入 查 詢 並 且 結 果 會 列 印 在 螢 幕 上 , 不 過 格 式 對 開 發 人 員 更 有 用 , 對 使 用 者 卻 差 好 多 。 不 過 請 記 住 , 執 行 一 個 單 使 用 者 伺 服 器 並 不 適 合 於 除 錯 該 伺 服 器 , 因 為 沒 有 實 際 的 程 序 間 通 訊 和 鎖 動 作 發 生 。

當 執 行 一 個 單 使 用 者 伺 服 器 時 , 將 把 會 話 使 用 者 設 定 為 ID 為 1 的 使 用 者 。 該 使 用 者 不 必 實 際 存 在 , 因 此 一 個 獨 立 執 行 的 伺 服 器 可 以 用 於 對 某 些 意 外 損 壞 的 系 統 表 中 進 行 手 工 恢 復 。 在 獨 立 執 行 模 式 下 , 系 統 隱 含 地 賦 予 ID 為 1 的 使 用 者 超 級 使 用 者 許 可 權 。

OPTIONS 選 項

如 果 postgres 是 由 一 個 postmaster (1) 啟 動 的 , 那 麼 它 繼 承 後 者 的 所 有 選 項 集 。 另 外 postgres 相 關 的 選 項 可 以 用 -o 開 關 從 postmaster (1) 傳 遞 。

你 可 以 透 過 設 定 一 個 配 置 檔 案 來 避 免 鍵 入 這 些 選 項 。 參 閱 Section 16.4獲 取 細 節 。 有 些 ( 安 全 的 ) 選 項 還 可 以 從 聯 接 過 來 的 客 戶 端 設 定 , 這 樣 就 獲 得 了 一 種 應 用 無 關 的 方 法 。 比 如 , 如 果 設 定 了 PGOPTIONS 環 境 變 數 , 那 麼 基 於 libpq 的 客 戶 端 就 都 把 那 個 字 串 傳 遞 給 伺 服 器 , 會 解 釋 成 postgres 命 令 列 選 項 。

GENERAL PURPOSE 通 用 用 途

選 項 -A , -B , -c , -d , -D , -F , 和 -- name postmaster (1) 裡 的 有 相 同 的 含 義 。 只 是 -d 0 避 免 postmaster (1) 的 除 錯 級 別 傳 播 到 postgres。

-e

把 預 設 日 期 風 格 設 定 為 "European", 也 就 是 說 用 "DMY"規 則 解 釋 日 期 輸 入 , 並 且 在 一 些 日 期 輸 出 格 式 裡 日 子 在 月 份 前 面 列 印 。 參 閱 Section 8.5 ‘‘Date/Time Types’’ 獲 取 更 多 細 節 。

-o filename

把 所 有 伺 服 器 日 誌 輸 出 到 filename。 如 果 伺 服 器 是 由 postmaster執 行 的 , 則 忽 略 這 個 選 項 , 並 且 使 用 從 postmaster 繼 承 過 來 的 stderr。

-P

掃 描 /更 新 系 統 記 錄 時 忽 略 系 統 表 。 對 系 統 表 /索 引 使 用 REINDEX 時 需 要 這 個 選 項 。

-s

在 每 條 命 令 結 束 時 列 印 時 間 資 訊 和 其 他 統 計 資 訊 。 這 個 開 關 對 測 試 效 能 和 調 節 緩 衝 區 數 量 有 好 處 。

-S sort-mem

宣 告 內 部 排 序 和 雜 湊 在 求 助 於 臨 時 磁 碟 檔 案 之 前 可 以 使 用 的 記 憶 體 數 量 。 該 值 是 以 KB ( 千 位 元 組 ) 為 單 位 的 , 預 設 是 1024 KB。 注 意 對 於 複 雜 查 詢 , 可 能 有 好 幾 個 並 行 的 排 序 和 /或 雜 湊 , 而 在 它 們 把 資 料 放 到 臨 時 檔 案 前 , 每 個 都 會 允 許 使 用 最 多 sort-mem KB的 記 憶 體 。

OPTIONS FOR STAND-ALONE MODE 單 使 用 者 模 式 的 選 項

database

宣 告 要 訪 問 的 資 料 庫 的 名 字 。 如 果 忽 略 掉 則 預 設 為 使 用 者 名 稱 。

-E

回 顯 所 有 命 令 。

-N

禁 止 把 新 行 作 為 語 句 分 隔 符 。

SEMI-INTERNAL OPTIONS 半 內 部 選 項

還 有 幾 個 其 他 的 選 項 可 以 宣 告 , 主 要 用 於 除 錯 用 途 。 這 些 東 西 在 這 裡 列 出 只 是 給 PostgreSQL 系 統 開 發 人 員 使 用 的 。 我 們 強 烈 反 對 使 用 這 些 選 項 。 另 外 這 些 選 項 的 任 何 一 項 都 可 能 在 未 來 版 本 中 消 失 而 不 加 說 明 。
-f { s | i | m | n | h }

禁 止 某 種 掃 描 和 連 線 方 法 的 使 用 : s 和 i 分 別 關 閉 順 序 和 索 引 掃 描 , 而 n, m, 和 h 分 別 關 閉 巢 狀 迴 圈 , 融 合 ( merge) 和 雜 湊 連 線 。

Note: 注 意 : 順 序 掃 描 和 巢 狀 迴 圈 都 不 可 能 完 全 被 關 閉 。 -fs 和 -fn 選 項 僅 僅 是 在 存 在 其 他 方 法 時 阻 礙 最 佳 化 器 使 用 這 些 方 法 罷 了 。

-O

允 許 修 改 系 統 表 的 結 構 。 這 個 引 數 用 於 initdb

-p database

告 訴 伺 服 器 伺 服 器 它 是 由 一 個 postmaster 啟 動 的 並 宣 告 要 使 用 的 資 料 庫 等 。

-t pa[rser] | pl[anner] | e[xecutor]

列 印 與 每 個 主 要 系 統 模 組 相 關 的 查 詢 記 時 統 計 。 它 不 能 和 -s選 項 一 塊 使 用 。

-v protocol

宣 告 這 次 會 話 使 用 的 前 /伺 服 器 協 議 的 版 本 數 。

-W seconds

一 旦 看 見 這 個 選 項 , 程 序 就 睡 眠 標 出 的 秒 數 。 這 樣 就 給 開 發 者 一 些 時 間 把 偵 錯 程 式 附 著 在 該 伺 服 器 程 序 上 。

--describe-config

這 個 選 項 以 tab 分 隔 的 COPY 格 式 , 倒 出 伺 服 器 內 部 配 置 變 數 , 描 述 和 預 設 之 。 設 計 它 主 要 是 給 管 理 工 具 使 用 。

ENVIRONMENT 環 境

PGDATA

預 設 資 料 目 錄 位 置

對 於 其 它 的 在 單 使 用 者 模 式 裡 有 一 點 點 影 響 的 環 境 變 數 , 請 參 閱 postmaster (1).

NOTES 注 意

要 停 止 執 行 一 個 查 詢 , 使 用 SIGINT 給 正 在 執 行 該 命 令 的 postgres 程 序 發 訊 號 。

要 告 訴 postgres 重 新 讀 取 配 置 檔 案 , 使 用 一 個 SIGHUP 訊 號 。 通 常 我 們 最 好 給 postmaster 傳 送 SIGHUP; postmaster 將 隨 後 SIGHUP 他 的 每 個 子 程 序 。 但 是 有 時 候 我 們 可 能 想 只 讓 一 個 postgres 程 序 重 灌 載 配 置 檔 案 。

postmaster 使 用 SIGTERM 告 訴 postgres程 序 正 常 退 出 , 而 SIGQUIT 是 不 經 過 正 常 清 理 的 退 出 。 這 些 訊 號 不 應 該 由 使 用 者 使 用 。 給 一 個 postgres 程 序 傳 送 SIGKILL 也 是 不 明 智 的 : postmaster 將 把 這 個 訊 號 解 釋 成 一 次 在 postgres 裡 的 崩 潰 , 並 且 會 強 制 所 有 他 的 子 postgres 程 序 像 在 一 個 標 準 的 崩 潰 - 恢 復 過 程 裡 一 樣 退 出 。

USAGE 用 法

用 下 面 這 樣 的 命 令 啟 動 一 個 獨 立 的 伺 服 器

postgres -D /usr/local/pgsql/data other-options my_database

用 -D 給 伺 服 器 提 供 正 確 的 資 料 庫 目 錄 的 路 徑 , 或 者 確 保 環 境 變 數 PGDATA 已 經 正 確 設 定 。 同 時 還 要 聲 名 你 象 用 的 特 定 資 料 庫 名 字 。

通 常 , 獨 立 執 行 的 伺 服 器 把 換 行 符 當 做 命 令 輸 入 完 成 字 元 ; 它 還 不 懂 分 號 的 作 用 , 因 為 那 些 東 西 是 在 psql (1) 裡 的 。 要 想 把 一 行 分 成 多 行 寫 , 你 必 需 在 除 最 後 一 個 換 行 符 以 外 的 每 個 換 行 符 前 面 敲 一 個 反 斜 槓 。

但 是 如 果 你 使 用 -N 命 令 列 開 關 , 那 麼 換 行 符 就 不 會 中 止 命 令 輸 入 。 伺 服 器 將 從 標 準 輸 入 讀 取 資 料 , 直 到 碰 到 檔 案 結 尾 ( EOF) , 然 後 把 輸 入 當 做 一 個 單 個 的 命 令 字 串 處 理 。 這 個 時 候 反 斜 槓 -換 行 符 就 不 再 當 做 特 殊 情 況 處 理 。

要 退 出 會 話 , 鍵 入 EOF (通 常 是 Control + D )。 如 果 你 已 經 使 用 了 -N, 需 要 用 兩 個 連 續 的 EOF來 退 出 。

請 注 意 獨 立 執 行 的 伺 服 器 不 會 提 供 複 雜 的 行 編 輯 功 能 ( 比 如 , 沒 有 命 令 列 歷 史 ) 。

SEE ALSO 參 見

initdb (1), ipcclean (1), postmaster (1)

譯 者

Postgresql 中 文 網 站 何 偉 平 <laser@pgsqldb.org>

本 頁 面 中 文 版 由 中 文 man 手 冊 頁 計 劃 提 供 。
中 文 man 手 冊 頁 計 劃 : https://github.com/man-pages-zh/manpages-zh