| PostgreSQL 8.0.0 中文文件(轉譯自 PostgreSQL 中國 製作的簡體中文版本) | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Chapter 9. 函數和操作符 | Fast Forward | Next |
Table 9-44 顯示了那些可以用於查詢以及修改執行時配置參數的函數。
Table 9-44. 配置設置函數
| 名字 | 返回類型 | 描述 |
|---|---|---|
| current_setting(setting_name) | text | 目前設置的值 |
| set_config(setting_name, new_value, is_local) | text | 設置參數並返回新值 |
current_setting 用於以查詢形式獲取 setting_name 設置的目前數值。它和SQL命令 SHOW 是等效的。 比如:
SELECT current_setting('datestyle');
current_setting
-----------------
ISO, MDY
(1 row)
set_config 將參數 setting_name 設置為 new_value。如果 is_local 設置為 true,那麼新數值將只應用於目前交易。 如果您希望新的數值應用於目前會話,那麼應該使用 false。 它等效於 SQL 命令 SET。比如:
SELECT set_config('log_statement_stats','off', false);
set_config
------------
off
(1 row)
在 Table 9-45 裡顯示的函數向其它伺服器進程發送控制信號。 這些函數的使用限制為超級用戶。
如果成功,這些函數返回 1,如果沒有成功則返回 0。 活躍的後端的進程 ID (pid)可以從 pg_stat_activity 視圖的 procpid 字串獲取,或者透過用 ps 命令列示伺服器上的 postgres 進程看到。
在 Table 9-46 裡顯示的函數幫助我們進行在線備份。 這些函數僅限超級用戶使用。
pg_start_backup 接受一個參數,這個參數可以是任意用戶為備份定義的標籤。 (通常這是備份轉儲文件存放所在的名字。)這個函數向資料庫集群的資料目錄寫入一個備份標籤文件, 然後以文本方式返回備份的起始 WAL 偏移。(用戶不需要注意這個結果值,提供他只為了萬一需要的場合。)
pg_stop_backup 刪除 pg_start_backup 建立的標籤文件, 並且在 WAL 歸檔區裡建立一個備份歷史文件。這個歷史文件包含給予 pg_start_backup 的標籤, 備份的起始與終止 WAL 偏移量,以及備份的起始和終止時間。返回值是備份的終止 WAL 偏移 (同樣也可能沒有什麼用)。
有關正確使用這些函數的細節,參閱 Section 22.3。