?
本文檔使用
php中文網(wǎng)手冊(cè) 發(fā)布
聲明服務(wù)器監(jiān)聽客戶端連接的TCP/IP地址。值是一個(gè)逗號(hào)分隔的主機(jī)名 和/或數(shù)字 IP 地址。特殊項(xiàng)*對(duì)應(yīng)所有可用 IP 接口。 如果這個(gè)列表是空的,那么服務(wù)器不會(huì)監(jiān)聽任何 IP 接口, 這種情況下,只有 Unix 域套接字可以用于連接數(shù)據(jù)庫。 缺省值localhost只允許 本地TCP/IP "loopback"連接??蛻舳松矸菡J(rèn)證(Chapter 19) 細(xì)粒度控制誰可以連接服務(wù)器,listen_addresses控制哪個(gè)接口接受連接請(qǐng)求, 這個(gè)可以阻止重復(fù)不安全的網(wǎng)絡(luò)接口上的惡意連接請(qǐng)求。只有在服務(wù)器啟動(dòng)時(shí)可以設(shè)置這個(gè)參數(shù)。
服務(wù)器監(jiān)聽的 TCP 端口;缺省是 5432 。請(qǐng)注意同一個(gè)端口號(hào)用于服務(wù)器監(jiān)聽 的所有 IP 地址。這個(gè)參數(shù)只能在服務(wù)器啟動(dòng)的時(shí)候設(shè)置。
允許和數(shù)據(jù)庫連接的最大并發(fā)連接數(shù)。缺省通常是 100 ,但是如果內(nèi)核 設(shè)置不支持這么大(在initdb的時(shí)候判斷),可能會(huì)比這個(gè) 數(shù)少。這個(gè)參數(shù)只能在服務(wù)器啟動(dòng)的時(shí)候設(shè)置。
增大這個(gè)參數(shù)可能導(dǎo)致PostgreSQL要求更多的 System V共享內(nèi)存或者信號(hào)燈, 可能超過操作系統(tǒng)缺省配置的許可值。必要的話,參閱Section 17.4.1獲取有關(guān)如何調(diào)節(jié)這個(gè)參數(shù)的信息。
當(dāng)運(yùn)行備服務(wù)器時(shí),這個(gè)參數(shù)必須等于或大于主服務(wù)器上的參數(shù),否則,備服務(wù)器上可能無法進(jìn)行查詢操作。
決定為PostgreSQL超級(jí)用戶連接而保留的連接 一次最多可以同時(shí)激活max_connections個(gè)連接。 在活躍的并發(fā)連數(shù)接到了max_connections減去 superuser_reserved_connections的時(shí)候, 新的連接就只能由超級(jí)用戶發(fā)起了,并沒有新的復(fù)制連接將被接受。
缺省值是 3 。這個(gè)值必須小于max_connections的值。 這個(gè)參數(shù)只能在服務(wù)器啟動(dòng)的時(shí)候設(shè)置。
聲明服務(wù)器監(jiān)聽客戶端連接的 Unix 域套接字目錄。缺省通常是 /tmp,但是可以在編譯的時(shí)候修改。這個(gè)值只能在 服務(wù)器啟動(dòng)的時(shí)候設(shè)置。
除了套接字文件本身,名為.s.PGSQL.nnnn,.s.PGSQL.nnnn.lock(nnnn是服務(wù)器的端口號(hào)) 的文件會(huì)在unix_socket_directory路徑下創(chuàng)建,這兩個(gè)文件都不應(yīng)被手動(dòng)刪除。
Windows下沒有Unix域套接字,因此這個(gè)參數(shù)與Windows無關(guān)。
設(shè)置 Unix 域套接字的所屬組(套接字的所屬用戶總是啟動(dòng)服務(wù)器的用戶)。 可以與選項(xiàng)unix_socket_permissions一起用于對(duì)套 接字進(jìn)行訪問控制。缺省是一個(gè)空字符串,表示服務(wù)器用戶的缺省組。 這個(gè)選項(xiàng)只能在服務(wù)器啟動(dòng)的時(shí)候設(shè)置。
Windows下沒有Unix域套接字,因此這個(gè)參數(shù)與Windows無關(guān)。
設(shè)置 Unix 域套接字的訪問權(quán)限。Unix 域套接字使用普通的 Unix 文件
系統(tǒng)權(quán)限集。這個(gè)選項(xiàng)值應(yīng)該是數(shù)值的形式,也就是那種 Unix 域套接字調(diào)
用chmod
和umask
接受的
形式。如果使用自定義的八進(jìn)制格式,數(shù)字必須以0開頭。
缺省的權(quán)限是0777,意思是任何人都可以連接。 合理的候選是0770(只有用戶和同組的人可以訪問, 又見unix_socket_group)和0700 (只有用戶自己可以訪問)。請(qǐng)注意,對(duì)于 Unix 域套接字,只有寫權(quán)限有意義,讀和執(zhí)行權(quán)限沒有任何意義。
這個(gè)訪問控制機(jī)制與Chapter 19里描述的 用戶認(rèn)證毫無關(guān)系。
這個(gè)參數(shù)只能在服務(wù)器啟動(dòng)時(shí)設(shè)置。
Windows下沒有Unix域套接字,因此這個(gè)參數(shù)與Windows無關(guān)。
缺省值是off,這個(gè)參數(shù)只能在服務(wù)器啟動(dòng)的時(shí)候設(shè)置。
聲明Bonjour服務(wù)名稱??兆址?tt class="LITERAL">''(缺省值)表示使用計(jì)算機(jī)名。 如果編譯時(shí)沒有打開Bonjour支持那么將忽略這個(gè)參數(shù)。 這個(gè)值只能在服務(wù)器啟動(dòng)的時(shí)候設(shè)置。
另一個(gè)空閑例程連接中,在發(fā)送一個(gè)keepalive報(bào)文之前指定秒數(shù)。 若指定0,即缺省值。這個(gè)參數(shù)只有在支持TCP_KEEPIDLE或TCP_KEEPALIVE標(biāo)簽 的系統(tǒng)或windows上才可以使用,在其他系統(tǒng)上,必須為0。通過Unix域套接字連接時(shí)忽略該參數(shù)。
Note: Windows系統(tǒng)上,值若為0,系統(tǒng)會(huì)將該參數(shù)設(shè)置為2小時(shí), 因?yàn)閃indows不支持讀取系統(tǒng)默認(rèn)值。
另一個(gè)空閑例程連接中,在發(fā)送一個(gè)keepalive報(bào)文過程中指定秒數(shù)。 若指定0,即缺省值。這個(gè)參數(shù)只有在支持TCP_KEEPINTVL標(biāo)簽 的系統(tǒng)或windows上才可以使用,在其他系統(tǒng)上,必須為0。通過Unix域套接字連接時(shí)忽略該參數(shù)。
Note: Windows系統(tǒng)上,值若為0,系統(tǒng)會(huì)將該參數(shù)設(shè)置為1秒, 因?yàn)閃indows不支持讀取系統(tǒng)默認(rèn)值。
在另一個(gè)空閑連接例程上,聲明要發(fā)送的keepalive報(bào)文數(shù)。 若指定0,則是系統(tǒng)默認(rèn)。這個(gè)參數(shù)只有在支持TCP_KEEPINTVL標(biāo)簽 的系統(tǒng)才可以使用,在其他系統(tǒng)上,必須為0。通過Unix域套接字連接時(shí)忽略該參數(shù)。
Note: Windows不支持該參數(shù),且必須為0.
完成客戶端認(rèn)證的最長(zhǎng)時(shí)間,以秒計(jì)。如果一個(gè)客戶端沒有在這段時(shí)間里完成 認(rèn)證協(xié)議,服務(wù)器將關(guān)閉連接。這樣就避免了出問題的客戶端無限制地占據(jù) 連接資源。缺省是 60 秒(1m)。這個(gè)選項(xiàng)只能在命令行上或者在 postgresql.conf里設(shè)置。
啟用SSL連接。請(qǐng)?jiān)谑褂眠@個(gè)選項(xiàng)之前閱讀Section 17.8。缺省是off。 這個(gè)選項(xiàng)只能在服務(wù)器啟動(dòng)的時(shí)候設(shè)置。SSL通信是唯一可以與TCP/IP的連接。
在會(huì)話密鑰被重新審核之前,聲明多少數(shù)據(jù)可通過一個(gè)SSL密鑰連接。 重新審核可以減低黑客進(jìn)行密碼分析攻擊的機(jī)會(huì),但同樣會(huì)造成較大的性能損失。 發(fā)送和接受的傳輸數(shù)用于進(jìn)行限制檢查。如果參數(shù)設(shè)置為0,則禁用重新審核。默認(rèn)是512MB。
Note: 在進(jìn)行SSL重新審核時(shí),2009年11月之前的SSL庫是不安全的,因?yàn)镾SL中存在協(xié)議漏洞。 由于修復(fù)這個(gè)漏洞很麻煩,因此一些廠商會(huì)禁止SSL重新審核的功能。
聲明一個(gè)SSL密鑰列表,用于安全連接。可從openssl手冊(cè)頁中產(chǎn)看支持的密鑰列表。 只有服務(wù)器支持SSL才可以使用該參數(shù)。
在 inCREATE USER或ALTER USER 里聲明了一個(gè)口令,而又沒有寫ENCRYPTED或 UNENCRYPTED的時(shí)候,這個(gè)選項(xiàng)決定口令是否要加密。 缺省是on(加密口令)。
設(shè)置 Kerberos 服務(wù)器鍵字文件的位置。參閱Section 19.3.5 或者Section 19.3.3獲取細(xì)節(jié)。這個(gè)選項(xiàng)只能在 postgresql.conf文件或命令行上進(jìn)行設(shè)置
設(shè)置 Kerberos 服務(wù)名。參閱節(jié)Section 19.3.5獲取細(xì)節(jié)。 這個(gè)值只能在postgresql.conf文件或命令行上進(jìn)行設(shè)置。
設(shè)置Kerberos和GSSAPI用戶名是否應(yīng)區(qū)分大小寫。默認(rèn)是off(區(qū)分大小寫)。 可以通過postgresql.conf文件或服務(wù)器命令來設(shè)置該參數(shù)。
允許針對(duì)每個(gè)數(shù)據(jù)庫的用戶名。缺省是關(guān)閉的。這個(gè)選項(xiàng)只能在命令行上 或者在postgresql.conf文件里進(jìn)行設(shè)置。
如果打開這個(gè)選項(xiàng),你應(yīng)該像username@dbname.這樣創(chuàng)建用戶。 在給一個(gè)正在連接的客戶端傳遞username的時(shí)候,必須給 用戶名附加@和數(shù)據(jù)庫名字,然后服務(wù)器查找該數(shù)據(jù)庫相關(guān)的 用戶名字。請(qǐng)注意,如果你在 SQL 環(huán)境里創(chuàng)建包含@的名字時(shí), 你需要用引號(hào)包圍用戶名。
打開這個(gè)選項(xiàng)之后,你還是能夠創(chuàng)建普通的全局用戶。只要在客戶端聲明 用戶的時(shí)候附加一個(gè)@即可,例如joe@。 在服務(wù)器查找這個(gè)用戶名之前,這個(gè) @ 會(huì)被剝除。
db_user_namespace用于區(qū)分客戶端和服務(wù)器端的用戶名。 通常使用服務(wù)器用戶名進(jìn)行身份驗(yàn)證,因此驗(yàn)證方法必須是為服務(wù)器用戶而設(shè)置的。 md5不能同db_user_namespace一起用。
Note: 這個(gè)特性只是臨時(shí)試驗(yàn)用途,直到找到一個(gè)完全的解決方案。那個(gè)時(shí)候, 這個(gè)選項(xiàng)將被刪除。