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

首頁 > 數據庫 > 其它 > 正文
PostgreSQL7.0手冊-用戶手冊-21. 系統應用 - postgres
編譯:何偉平 laser@zhengmai.com.cn (2001-04-21 22:28:26)
postgres
名稱
postgres  運行一個 Postgres 單用戶端 

語法
postgres [ dbname ]
postgres [ -B nBuffers ] [ -C ] [ -D DataDir ] [ -E ] [ -F ]
   [ -O ] [ -Q ] [ -S SortSize ] [ -d [ DebugLevel ] ] [ -e ]
   [ -o ] [ OutputFile ] [ -s ] [ -v protocol ] [ dbname ]
輸入
postgres 接受下列命令行參數: 
  
dbname 
可選的參數 dbname 聲明要訪問的數據庫名。dbname 缺省是環境變量 USER 的值。 
  
-B nBuffers 
如果端通過 postmaster 運行,nBuffers 是 postmaster 為它啟動的端進程分配和管理的共享內存緩沖區數量。如果端是獨立運行的,這個參數聲明要分配的緩沖區數目。此值缺省為 64 個緩沖區,每個緩沖區是 8k 字節(或者 config.h 裡設置的 BLCKSZ 大小)。 
-C 
不要顯示服務器版本號。 
-D DataDir 
聲明用做數據庫目錄樹的根的目錄。如果沒有給出 -D,缺省目錄名是環境變量 PGDATA 的值。如果沒有設置 PGDATA,那使用的目錄是 $POSTGRESHOME/data。如果兩個環境變量和命令行選項都沒有給出,用的缺省目錄是編譯時設置的。 
-E 
回顯所有查詢。 
-F 
在每次事務面關閉自動的 fsync() 調用。這個選項提高了性能,但是如果在一個事務正在處理過程中操作系統崩潰可能導致最近輸入的數據的丟失。沒有 fsync() 調用,數據是被操作系統緩沖然在某個時候寫入磁盤。 
-O 
超越限制,因而可以修改系統表。這些表一般是那些表名稱帶有 "pg_" 前綴的表。 
  
-Q 
聲明 "quiet" 模式。 
-S SortSize 
聲明內部排序和散列在求助臨時磁盤文件之前可以使用的內存數量。該值是以 KB (千字節)為單位的,缺省是 512 KB。注意對復雜查詢,可能有好幾個並行的排序和/或散列,而在它們把數據放到臨時文件前,每個都會允許使用最多 SortSize KB的內存。 
  
-d [ DebugLevel ] 
可選的參數 DebugLevel 決定端服務器將產生的調試信息輸出的數量。如果 DebugLevel 是一,將跟蹤所有聯接動作,而對其它的一律忽略。對級別二或更高,端進程的調試被打開並且 postmaster 顯示更多信息,包括端環境和處理動作。注意如果沒有給端服務器聲明他們的調試輸出指向的文件,則輸出會出現在它們的父postmaster 的控制 tty 上。 
-e 
這個選項控制輸入到數據庫和從數據庫輸出的日期的解釋方式。如果應用了-e 開關,那從前端進程來回的日期將假設是 "European" 格式(DD-MM-YYYY),否則日期將假設為 "American" 格式(MM-DD-YYYY)。端可以接受的日期格式多種多樣,對輸入日期而言,這個選項主要影響易混淆的解釋。參閱 PostgreSQL用戶手冊 獲取更多信息。 
-o OutputFile 
發所有調試和錯誤輸出輸出到 OutputFile。如果端是由postmaster 運行的,錯誤信息仍然發送給前端,也發送給 OutputFile,但是調試輸出發送給該postmaster 的控制 tty(因為只有一個文件描述符可以發送給實際的文件)。 
-s 
在每條查詢結束時打印時間信息和其他統計信息。這個開關對測試性能和調節緩沖區數量有好處。 
-v protocol 
聲明這次會話使用的前/端協議的版本數。 
還有幾個其他的選項可以聲明,主要用調試用途。這些東西在這裡列出只是給Postgres 系統開發人員使用的。我們強烈反對使用這些選項。另外這些選項的任何一項都可能在任何時間消失。 
這些特殊選項是: 
  
-A n|r|b|Q\fIn\fP|X\fIn\fP 
這個選項產生數量巨大的輸出。 
-L 
關閉鎖系統。 
-N 
關閉把新行作為查詢分隔符。 
-f [ s | i | m | n | h ] 
禁止某種掃描和聯合方法的使用:s 和 i 分別關閉順序和索引掃描,而 n,m,和 h 分別關閉嵌套循環,融合(merge)和散列聯合。 
注意:順序掃描和嵌套循環都不可能完全被關閉。-fs 和 -fn 選項僅僅是在存在其他方法時阻礙優化器使用這些方法罷了。
-i 
避免查詢執行,而只是顯示規劃樹。 
-p dbname 
告訴端服務器它是由一個 postmaster 啟動的並對緩沖區管理和文件描述符等做出不同的假設。跟在 -p 面的開關限那些被認為是"安全的"。 
-t pa[rser] | pl[anner] | e[xecutor] 
打印與每個主要系統模塊相關的查詢記時統計。它不能和-s 選項一塊使用。 
 
輸出
在你直接運行端服務器可能出現的幾乎無窮無盡的錯誤信息裡,最有可能出現的是: 
semget: No space left on device 
  
  

如果你看到這條信息,你應該運行 ipcclean 命令。幹完這個之,試著重新啟動 postmaster。如果還不行,你可能需要按照安裝指導裡描述的那樣配置你的內核的共享內存和信號燈。如果你的內核的共享內存和/或信號燈被限制得很小,你可能要重新配置你的內核以增加共享內存和信號燈參數。 

小技巧:你也可以通過降低 -B 的參數以減少 Postgres 的共享內存的消耗,以此可以推遲重新配置內核。
描述
Postgres 可以直接從用戶 shell 上面執行。但只有在 DBA 對系統進行調試時可以這樣做,而且如果這套數據庫的其他 Postgres 端正在被一個 postmaster 管理時決不能這樣做。 
這裡說明的一些開關可以通過聯接請求裡的“數據庫選項”域傳遞給端,因此可以為特定的端設置而不需要重起 postmaster 的麻煩。這對那些調試開關尤其方便。 

可選的參數 dbname 聲明要訪問的數據庫。 dbname 缺省是環境變量 USER 的值。

注意
處理共享內存問題的有用的工具包括 ipcs(1),ipcrm(1),和ipcclean(1)。參閱 postmaster。

(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)

===更多相關===
 

★  樊強制作 歡迎分享  ★