?
This document uses PHP Chinese website manual Release
控制數(shù)組輸入解析器是否將未用引號界定的NULL作為數(shù)組的 一個 NULL 元素。默認為on表示允許向數(shù)組中輸入 NULL 值。 但 8.2 之前的版本不支持這么做,因此將把NULL當作字符 串"NULL"。如果希望向后兼容這種舊式行為,那么可以設(shè) 為off。
即使該值被設(shè)為off也仍然能夠創(chuàng)建包含 NULL 值的數(shù)組。
控制字符串文本中的單引號是否能夠用\'來表示。首選的符 合 SQL 標準的方法是將其雙寫(''),但是PostgreSQL 在歷史上也可以用\'來表示。不過使用\' 容易導致安全漏洞,因為在某些多字節(jié)字符集(比如 GBK/GB18030)中存在 最后一個字節(jié)等于\'的 ASCII 值的字符。如果客戶端代碼 沒有做到正確逃逸,那么將會導致 SQL 注入攻擊。如果服務(wù)器拒絕 使用\'來表示單引號,那么就可以避免這種風險。 backslash_quote的可用值是on(總是允許), off(總是拒絕),safe_encoding(缺省, 僅在客戶端字符集編碼不會在多字節(jié)字符末尾包含\的 ASCII 值時允許)
需要注意的是,在字符串文本符合 SQL 標準的情況下,\ 沒有任何其它含義。這個參數(shù)影響的是如何處理不符合標準的字符串文本, 包括明確的字符串逃逸語法(E'...')。
這個選項控制CREATE TABLE和CREATE TABLE AS 在既沒有聲明WITH OIDS也沒有聲明WITHOUT OIDS 的情況下,是否在新創(chuàng)建的表中包含 OID 字段。它還決定 SELECT INTO創(chuàng)建的表里面是否包含 OID 。 在PostgreSQL8.0 之后 default_with_o ids 缺省 為off。以前版本的 PostgreSQL 缺省為 on 。
我們反對在用戶表中使用 OID ,因此大多數(shù)安裝應(yīng)該關(guān)閉這個變量。 需要 OID 的表應(yīng)該在創(chuàng)建表的時候聲明WITH OIDS。
打開的時候,如果在普通的字符串文本里(\語法)出現(xiàn)了 一個反斜扛'...'并且standard_conforming_strings 被關(guān)閉,那么就會發(fā)出一個警告。缺省是on. 。
應(yīng)該使用逃逸字符串語法(E'...')來做逃逸,因為在將來 的 PostgreSQL 版本里,普通的字符串對待反斜扛的行為將與標準兼容。
在9.0之前的版本中,大對象沒有連接權(quán)限,并且對所有用戶哦都市可讀可寫的。 將這個變量設(shè)置為on,從而禁用新的權(quán)限檢查,以與以前的版本兼容。 默認是off。
設(shè)置這個參數(shù)不會禁用所有跟大對象有關(guān)的安全檢查;除了那些在PostgreSQL 9.0中已經(jīng)修改了的性能。如,lo_import()和lo_export() 需要超級用戶權(quán)限獨立設(shè)置。
這個選項控制繼承語義,尤其是在缺省時是否在各種命令里把子表包括進來。 如果設(shè)為off那么默認不包含字表(相當于默認使用 ONLY關(guān)鍵字)。這是為了兼容 7.1 之前版本而設(shè)置的。 參考節(jié)Section 5.8獲取關(guān)于繼承的更多信息。
控制普通字符串文本('...')中是否按照 SQL 標準把反斜扛 當普通文本。缺省為 off ,表示反斜扛當作逃逸對待。將來的版本會把 這個設(shè)置的缺省值改成on,這樣字符串文本的語法就變?yōu)? 符合標準了。應(yīng)用可以檢查這個參數(shù)來判斷字符串文本如何被處理。建議 明確使用逃逸字符串語法(E'...')來逃逸字符。
它允許對大表的順序掃描與其他同步,因此并發(fā)掃描會同時讀相同的塊, 因此共享I/O負載。當啟用這個參數(shù)時,一個掃描會從表的中間開始,然后 "wrap around",以掃描所有的行,同時,同步已在進程中的活躍的掃描。 對于沒有ORDER BY查詢來說,這樣的掃描會返回不可預料的順序改變。 將這個參數(shù)設(shè)置為off以支持8.3之前的特性(順序掃描通常從表的起始處開始)。 缺省是on。
如果打開,那么表達式expr= NULL(或NULL =expr) 將被當做exprIS NULL處理, 也就是說,如果expr得出 NULL 值則返回真, 否則返回假。正確的 SQL 標準兼容的expr= NULL 行為總是返回 NULL(未知)。因此這個選項缺省是off。
不過,在Microsoft Access里的過濾表單 生成的查詢好像使用的是expr= NULL 測試 NULL ,因此,如果你使用這個界面訪問數(shù)據(jù)庫,你可能想把這個選項 打開。因為形如expr= NULL的表達式 總是返回 NULL ,它們在應(yīng)用中也不常見,因此這個選項實際上沒有什么害處。 但是新用戶常常在涉及 NULL 的表達式語義上感到胡涂,因此缺省時不打開 這個選項。
請注意這個選項只影響= NULL形式,不包括其它比較操作符 或者其它與一些涉及等號操作符的表達式計算(比如 IN)。因此,這個選項不 是垃圾程序的狗皮膏藥。
請參考節(jié)Section 9.2獲取相關(guān)信息。