Provided by:
manpages-zh_1.5.1-2_all 
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 ]
DESCRIPTIONyz
可執行程式 postgres 是真正處理查詢的 PostgreSQL 伺服器進程。
通常它是不會被直接調用的;而是啟動一 postmaster 多使用者伺服器。
上悸熔臚G種形式就是 postmaster(1) 調用 postgres
的方法(只是概念上的,因為 postmaster 和 postgres
實際上是一樣的程式); 我-
怳ㄞ鈳o樣直接調用它。第一種形式以交互單使用者模式直接調用該伺服器。
這種用法的主n用途是在 initdb 做初始化時用。有時-
唹有Q用做調試災難性恢復。
當從 shell
上以交互模式調用時,使用者可以輸入查詢並且結果會列印在螢幕上,
不過格式對開發人更有用,對使用者卻差好多。 不過請記住,運行一-
茬璅洏峈怞曭A器並不適合於調試該伺服器,
因為沒有實際的進程間通訊和鎖動作發生。
當運行一茬璅洏峈怞曭A器時,將把會話使用者設置為 ID 為 1 的使用者。
該使用者不必實際存在,因此一-
蚇W立運行的伺服器可以用於對某些意外損壞的系統表中進行手動恢復。
在獨立運行模式下,系統隱含地賦予 ID 為 1 的使用者超級使用者權。
OPTIONS項
如果 postgres 是由一 postmaster(1)
啟動的,那麼它繼承後者的所有選項集。另外 postgres 相關的選項可以用 -o
開關從 postmaster(1) 傳遞。
你可以通過設置一荌t置檔案來避免鍵入這些選項。 參駙ion 16.4獲取細節。
有些(安全的)選項還可以從聯接過來的客戶端設置,
這樣就獲得了一種應用無關的方法。 比如,如果設置了 PGOPTIONS 環境變量,
那麼基於 libpq 的客戶端就都把那茼r串傳遞給伺服器, 會解釋成 postgres
命令行選項。
GENERAL PURPOSEq~
選項 -A, -B, -c, -d, -D, -F, 和 --name 和 postmaster(1)
裏的有相同的含義。只是 -d 0 避免 postmaster(1) 的調試級別傳播到
postgres。
-e 把預設日期榆瘜]置為
"European",也就是說用"DMY"規則解釋日期輸入,
並且在一些日期輸出格式裏日子在月份前惘C印。 參 Section 8.5
``Date/Time Types'' 獲取更多細節。
-o filename
把所有伺服器日誌輸出到 filename。 如果伺服器是由
postmaster運行的, 則忽略這蚇龠窗A並且使用從 postmaster
繼承過來的stderr。
-P 掃描/更新系統記錄時忽略系統表。對系統表/索引使用 REINDEX 時需-
n這蚇龠窗C
-s 在每條命令結束時列印時間信息和其他統p信息。 這-
荈}關對測試性能和調節緩沖區數量有好處。
-S sort-mem
聲明內部排序和散列在求助於臨時磁碟檔案之前可以使用的記憶體數量。
該O以 KB (千字節)為單位的,預設是 1024 KB。
注意對於復雜查詢,可能有好幾茖疆瑼滷M/或散列, 而在它-
怬熉琠顐嚌{時檔案前,每茬ㄦ|允釣洏帠怞h sort-mem KB的記憶體。
OPTIONS FOR STAND-ALONE MODE項
database
聲明n訪問的數據庫的名字。如果忽略掉則預設為使用者名。
-E 回顯所有命令。
-N 禁止把新行作為語句分隔符。
SEMI-INTERNAL OPTIONSb項
還有幾茖銗L的選項可以聲明,主n用於調試用途。 這些東西在這裏列出只是給
PostgreSQL 系統開發人使用的。 我戔j烈反對使用這些選項。
另外這些選項的任何一項都可能在未來版本中消失而不加說明。
-f { s | i | m | n | h }
禁止某種掃描和連接方法的使用: s 和 i
分別關閉順序和索引掃描,而 n,m,和 h
分別關閉嵌套循環,融合(merge)和散列連接。
Note: 注意: 順序掃描和嵌套循環都不可能完全被關閉。 -fs 和 -fn
選項僅僅是在存在其他方法時阻 礙優化器使用這些方法罷了。
-O 允啻改系統表的結構。這荌捊峏 initdb。
-p database
告訴伺服器伺服器它是由一 postmaster 啟動的並聲明-
n使用的數據庫等。
-t pa[rser] | pl[anner] | e[xecutor]
列印與每茈Dn系統模塊相關的查詢記時統p。 它不能和
-s選項一塊使用。
-v protocol
聲明這次會話使用的前/伺服器協議的版本數。
-W seconds
一旦看見這蚇龠窗A進程就睡眠標出的秒數。
這樣就給開發者一些時間把調試器附著在該伺服器進程上。
--describe-config
這蚇龠等H tab 分隔的 COPY 格式,迉X伺服器內部配置變量,描-
z和預設之。 設p它主n是給管理工具使用。
ENVIRONMENT境
PGDATA 預設數據目錄位置
對於其它的在單使用者模式裏有一點點影響的環境變量,請參 postmaster(1).
NOTES`N
n停止運行一茯d詢,使用 SIGINT 給正在運行該命令的 postgres 進程發信號。
n告訴 postgres 奐s讀取配置檔案, 使用一 SIGHUP 信號。 通常我抭怞n給
postmaster 發送 SIGHUP; postmaster 將隨後 SIGHUP 他的每茪l進程。
但是有時唭确可能想只讓一 postgres 進程姜佶配置檔案。
postmaster 使用 SIGTERM 告訴postgres進程正常退出, 而 SIGQUIT 是不
經過正常清理的退出。 這些信號不應該由使用者使用。 給一 postgres
進程發送 SIGKILL 也是不明智的: postmaster 將把這茷H號解釋成一次在
postgres 裏的 崩潰, 並且會強制所有他的子 postgres 進程像在一-
蚍郱滷Y潰-恢復過程裏一 樣退出。
USAGEk
用下掖o樣的命令啟動一蚇W立的伺服器
postgres -D /usr/local/pgsql/data other-options my_database
用 -D 給伺服器提供正確的數據庫目錄的路徑, 或者確保環境變量 PGDATA
已經正確設置。 同時還n聲名你像用的特定數據庫名字。
通常,獨立運行的伺服器把換行符當做命令輸入完成字符;
它還不懂分號的作用,因為那些東西是在 psql(1) 裏的。
n想把一行分成多行寫,你必需在除最後一荋咻瘝聽H外的每荋咻瘝贖e捱V一-
茪炱袟b。
但是如果你使用 -N 命令行開關,那麼換行符就不會中止命令輸入。
伺服器將從標準輸入讀取數據,直到碰到檔案結尾(EOF), 然後把輸入當做一-
茬窲的命令字串處理。這荇尕反斜槓-換行符就不再當做特殊情況處理。
n退出會話,鍵入EOF (通常是 Control+D)。 如果你已經使用了 -N,需n用兩-
茬s續的EOF來退出。
請注意獨立運行的伺服器不會提供復雜的行編輯弁遄]比如,沒有命令行歷史)。
SEE ALSO見
initdb(1), ipcclean(1), postmaster(1)
者
Postgresql <laser@pgsqldb.org>