Provided by: manpages-zh_1.5.1-2_all bug

NAME

       postmaster - PostgreSQL多使用者數據庫伺服器

SYNOPSIS

       postmaster [ -A   0 | 1 ] [ -B nbuffers ] [ -c name=value ] [ -d debug-
       level ] [ -D datadir ] [ -F ] [ -h hostname ] [ -i ] [ -k directory ] [
       -l  ]  [ -N max-connections ] [ -o extra-options ] [ -p port ] [ -S ] [
       --name=value ] [ -n | -s ]

DESCRIPTIONyz
       postmaster 是  PostgreSQL  多使用者數據庫伺服器。  一茷廕搰陘F訪問一-
       蚍畬w,它(通過網路或本地)聯接到一蚢B行著的    postmaster。   然後該
       postmaster      啟動一蚇W立的伺服器進程("postgres")      以操作聯接。
       postmaster 還控制伺服器進程之間的通訊。

        預設時postmaster在前台啟動並且向標準錯誤系統輸出列印日誌信息。
       在實際應用裏,postmaster應該作為I景進程啟動,也雩茼b啟動時。

        一舁ostmaster總是管理來自同一蚍畬w集群的數據。                   一-
       蚍畬w集群是一套在同一蚗仵蚳t統位置存放數據的數據庫。   當  postmaster
       啟動時,它需n知道數據庫集群檔案("數據區")的位置。   這荌捊O通過傳遞
       -D     命令行選項或者     PGDATA     環境變量實現的,沒有預設C    一-
       茖t統上同時可以運行幾         postmaster         進程,         只n他-
       怢洏峇ㄕP的數據區和不同的端口號(見下文)。   一蚍痚洉O用   initdb(1)
       創建的。

OPTIONS項
       postmaster    接受下列命令行參數。     關於這些選項的更詳細的討論請參考
       Section     16.4     ``Run-time    Configuration''。你也可以通過設置一-
       荌t置檔案來減少敲擊這些選項。

       -A 0|1                   打開運行時斷言檢查,是檢測編程錯誤的調試幫助。
              只有在編譯時打開了它,你才能使用它。如果編譯時打開了,預設是打開。

       -B nbuffers
               為伺服器進程分配和管理的共享記憶體緩沖區數量。此w設為      64
              蚑w沖區,每蚑w沖區是 8k 字節。

       -c name=value
               設置一茤R名的運行時參數。參考     Section    16.4    ``Run-time
              Configuration''                                  獲取列表和描z。
              大多數其他命令行選項實際上都是這樣的參數賦熊u形式。         -c
              可以出現多次用以設置多荌捊C

       -d debug-level
               設置調試級別。數V高,寫到伺服器日誌的調試輸出越多。  數圍是
              1 到 5。

       -D datadir
               聲明數據目錄的檔案系統路徑。參黎W文的討論。

       -F      關閉 fsync 調用,提高性能,但是n冒系統崩潰時數據毀壞的滅I。 這-
              蚇龠給奰釧韟b               postgresql.conf               中設置
              fsync=false。在使用之前嬝疙埴茪憟鞳I

              --fsync=true 有著這蚇龠答漱炱效果。

       -h hostname
               聲明 postmaster 偵聽著等待來自前端應用聯接的 TCP 主機名或地址。
              它預設偵聽所有配置了的地址(包括 localhost)。

       -i         這蚇龠等普}    TCP/IP     (網際域套接字)通訊。     沒有這-
              蚇龠窗A只能進行本地    Unix    域套接字通訊。    這蚇龠紫幼藺韟b
              postgresql.conf 中設置 tcpip_socket=true。

              --tcpip-socket=false 是這蚇龠答漪菑洈漣@用。

       -k directory
              指定 postmaster 偵聽等待來自前端應用聯接的 Unix 域套接字的位置。
              預設通常是 /tmp,但是可以在編譯的時婟改。

       -l       這蚇龠等普}用 SSL 進行的安全通訊。同樣還需n -i  選項。n使用這-
              蚇龠窗A編譯時你必須打開了 SSL 選項。

       -N max-connections
               設置postmaster允陰珧坁漲曭A器伺服器的最大數目。預設配置時,該-
                           32,             如果你的系統能支持更多進程,該-
              怳j可以設置為你的系統所能支持的極。                        時-
              蚹鵅]參 src/include/config.h)。  (請注意  -B 選項n求至少是兩
              -N。參 Section    16.5    ``Managing     Kernel     Resources''
              獲取有關大客戶量的系統資源需求的信息。)

       -o extra-options
               在   extra-options   裏聲明的  postgres   選項都傳遞給所有由這
              postmaster   啟動的服務進程。   參 postgres(1)   獲取可能選項。
              如果選項字串包含任何空白,整茼r串必須引起來。

       -p port
              指定    postmaster   偵聽著等待客戶端應用連接的網際網路   TCP/IP
              端口或一茈誚a          Unix          域套接字檔案擴展(描z符)。
              預設的端口號是環境變量  PGPORT  的C如果沒有設置  PGPORT 預設是
              PostgreSQL   編譯時建立的]通常是   5432)。    如果你聲明了一-
              茷D預設端口,那麼所有前端應用(包括 psql)都必須用命令行選項或者
              PGPORT 聲明同一蚨搕f。

       -S           指明      postmaster      進程將以安靜模式啟動。也就是說,
              它將與使用者的(控制)tty            脫離並且啟動其自赤熄i程組。
              並且它把標準輸出和標準錯誤咿w向到 /dev/null。

               使用這荈}關會將日誌輸出都丟棄,可能不是你希望的,
              因為這樣令錯誤查找非常困難。參黎U文獲取一茼bI景啟動   postmaster
              的更好的方法。

              --silent-mode=false 的作用和這蚇龠答漁蘆G正好相反。

       --name=value
               設置一茤R名的運行時參數;其縮寫形式是 -c。

        有兩蚚B外的命令行選項可以用於調試導P伺服器異常退出。
       用於這種狀況的一般策略是通知所有其它伺服器必須退出,              然後-
       奐s初始化共享記憶體和信號燈。這是因為一-
       茈X錯的伺服器在退出前可能已經破壞了一些共享的狀態。
       這些選項控制這種環境下的         postmaster          的性質,而且沒有-
       蚇龠筋O為普通操作準備的。

        這些特殊選項是:

       -n     postmaster   將不會奐s初始化共享數據結構。  一茼雩g驗的系統程式-
              這時就可以使用調試器檢查共享記憶體和信號燈狀態。

       -s     postmaster                                 將通過發送信號SIGSTOP
              停止所有其他伺服器進程,但不會導P它怜h出。    這樣就允釣t統程式-
              手動從所有伺服器進程收集傾邞漁痐腄]core dumps)。

ENVIRONMENT境
       PGCLIENTENCODING
               客戶端使用的確預設字符編碼。(客戶端可以獨立地覆輒o荂C)這-
              ]可以在配置檔案裏設置。

       PGDATA  預設數據目錄位置

       PGDATESTYLE
               運行時參數datestyle的預設C(不再建議使用環境變量)

       PGPORT  預設端口(最好在配置檔案中設置)

       TZ      伺服器時區

            其它環境變量可以用於指定可選地數據存儲位置。參 Section  18.5
              ``Managing Databases'' 獲取更多信息。

DIAGNOSTICSE
        一荋ㄗ鴗F semget 或者  shmget  的錯誤訊息可能意味著你需n配置你的核心,
       提供足夠的共享記憶體和信號燈。更多討論,參 Section   16.5   ``Managing
       Kernel Resouces'' 。

              Tip:   提示:    你也可以通過飢C   shared_buffers    的參數以減少
              PostgreSQL的共享記憶體的消耗,                             或者-
              飢Cmax_connections的參數減少PostgreSQL的信號燈的消耗,
              以此可以推遲奐s配置核心。

        如果是一蚖‘t外一                                          postmaster
       正在運行的錯誤訊息,那你應該確保沒有其他的                   postmaster
       進程正在運行。判斷這荓〞p的最簡單的辦法是使用命令

       $ ps ax | grep postmaster

       或

       $ ps -ef | grep postmaster

        具體使用種取決於你的系統。如果確信沒有沖突的               postmaster
       在運行,那麼你可以刪除消息裏提到的鎖檔案然後再次運行。

        一蚖△L法綁定端口的錯誤訊息可能表明該端口已經I其它非        PostgreSQL
       進程使用。                          如果你終止postmaster後又馬上用同一-
       蚨搕f運行它,你也有可能得到這蚇欞~訊息;
       這時,你必須多等幾秒,等作業系統關閉了該端口後再試。
       最後,如果你使用了一荍@業系統認為是保留的端口,也可能導P這蚇欞~訊息。
       例如,我的  Unix  版本認為低於 1024 的端口號是"可信任的",因而只有 Unix
       超級使用者可以使用它怴C

NOTES`N
        如果有可能n使用      SIGKILL殺死      postmaster。      這樣會阻止
       postmaster在退出前釋放它持有的系統資源(例如共享記憶體和信號燈)。

        n正常結束   postmaster,可以使用信號  SIGTERM,SIGINT,  或  SIGQUIT。
       第一茷H號將等待所有的客戶端退出後才退出。                         第二-
       荓N強制斷開所有客戶端,而第三荓N不停止立刻退出, 導P在城_時的恢復運行。

        工具命令 pg_ctl(1)  可以用於安全而有效地啟停 postmaster。

       選項      --       在FreeBSD或者       OpenBSD上無法運行。       應該用
       -c。這在受影響的系統裏是荅鞃峞F 如果這茪繶f沒有袑犰n,將來的 PostgreSQL
       版本將提供一蚋順}的辦法。

EXAMPLESl
        用預設bI景啟動postmaster,鍵入:

       $ nohup postmaster >logfile 2>&1 </dev/null &

        以指定的端口啟動 postmaster:

       $ postmaster -p 1234

        這條命令將在端口 1234  啟動  postmaster。  為了用psql與這  postmaster
       聯接, 你應該這麼運行 psql run it as

       $ psql -p 1234

        或者設置環境變量 PGPORT:

       $ export PGPORT=1234
       $ psql

        命名的運行時參數可以用下列的榆璊坐@設置:

       $ postmaster -c sort_mem=1234
       $ postmaster --sort-mem=1234

        兩種形式都覆豪漕{有的在   postgresql.conf  裏悸  sort_mem  的設置。
       請注意在參數名裏的下劃線在命令行上可以寫成下劃線,也可以寫成劃線。

              Tip:     提示:      除了用於短期的實驗以外,更好的習慣是編輯放在
              postgresql.conf 裏悸熙]置, 而不是尪鄔R令行開關設置參數。

SEE ALSO見
       initdb(1), pg_ctl(1)

者
       Postgresql  <laser@pgsqldb.org>