?
本文檔使用
php中文網(wǎng)手冊 發(fā)布
這個特性用來允許那些由附加模塊添加(比如過程語言)的選項,通常 PostgreSQL并不知道它們。這樣,附加的模塊 就可以用標準的方式配置。
這個變量以逗號分隔的列表聲明一個或多個用于自定義變量的類名稱。自定義 變量通常是PostgreSQL并不知道的變量, 但是被一些附加的模塊使用。這樣的變量名必須由一個類別名、一個點、 一個變量名組成。custom_variable_classes聲明在一次安裝 里的所有類別名。這個選項只能在服務器啟動的時候或者在 postgresql.conf文件里設置。
在postgresql.conf里設置自定義變量的困難在于這個文件 必須在附加模塊被裝載之前讀取,因此自定義變量通常會被認為是未知而拒絕。 在設置了custom_variable_classes之后,服務器將接受每個 聲明的類別里的任意變量。這些變量將被當作占位符,并且在定義它們的模塊 裝載之前沒有任何用處。在一個特定類別的模塊加載后,它將為這個類別名增 加合適的變量定義,根據(jù)它們的定義把那些占位符數(shù)值進行轉換,并且為該類 別剩下的任何占位符發(fā)出警告(這些很有可能是拼寫錯的配置變量)。
下面是一個在使用自定義變量時postgresql.conf可能包含的東西 的例子。
custom_variable_classes = 'plpgsql,plperl' plpgsql.variable_conflict = use_variable plperl.use_strict = true plruby.use_strict = true # generates error: unknown class name