Provided by: manpages-zh_1.6.4.0-1_all
NAME
SET - 改變執行時引數
SYNOPSIS
SET [ SESSION | LOCAL ] name { TO | = } { value | 'value' | DEFAULT } SET [ SESSION | LOCAL ] TIME ZONE { timezone | LOCAL | DEFAULT }
DESCRIPTION 描述
SET 命令修改執行時配置引數。許多在 Section 16.4 ``Run-time Configuration'' 裡面列出的執行 時引數可以用 SET 在執行時設定。 (但是有些要求使用超級使用者許可權來修改,而其它有些則在伺 服器或者會話 開始之後不能修改。)請注意 SET 隻影響當前會話使用的數值。 如果 SET 或者 SET SESSION 是在一個稍後退出的事務裡發出的, 那麼 SET 命令的效果將在事務回 滾的之後小時。 (這個行為和PostgreSQL版本 7.3 之前的不同, 那個時候 SET 的效果在後面的錯誤 之後不會回滾。) 一旦包圍它的事務提交,那麼其效果將持續到事務的結束,除非被另外一個 SET 覆 蓋。 SET LOCAL 的效果只持續到當前事務結束,不管是否提交。 一個特例是在一個事務裡面的 SET 後面跟 著一個 SET LOCAL:在事務結束之前只能看到 SET LOCAL 的數值,但是之後(如果事務提交),則是 SET 的值生效。
PARAMETERS 選項
SESSION 宣告這個命令只對當前會話起作用。 (如果 SESSION 或 LOCAL 都沒出現,那麼這個是預 設。) LOCAL 宣告該命令只在當前事務中有效。在 COMMIT 或者 ROLLBACK 之後,會話級別的設定將再次生 效。 請注意如果在 BEGIN 塊之外執行,那麼 SET LOCAL 將表現出沒有作用,因為事務將立 即結束。 name 可設定的執行時引數的名字。可用的引數在 Section 16.4 ``Run-time Configuration'' 和 下面歸檔。 value 引數的新值。值可以宣告為字串常量,識別符號,數字,或者逗號分隔的上面這些東西的列 表。 DEFAULT 可以用於把這些引數設定為它們的預設值。 除了在 Section 16.4 ``Run-time Configuration'' 裡面有文件記載的配置引數之外, 還有幾個只 能用 SET 命令設定,或者是有特殊的語法的引數: NAMES SET NAMES value 是 SET client_encoding TO value 的別名。 SEED 為隨機數生成器(函式 random)設定內部的種子。 允許的值是介於 0 和 1 之間的浮點 數,然後它會被乘以 231-1。 我們也可以透過呼叫函式 setseed 來設定種子: SELECT setseed(value); TIME ZONE SET TIME ZONE value 是 for SET timezone TO value 的一個別名。 語法 SET TIME ZONE 允 許為時區設定特殊的語法。 下面是有效值的例子: 'PST8PDT' 加州伯克利的時區。 'Portugal' 葡萄牙時區。 'Europe/Rome' 義大利時區。 -7 UTC 以西 7 小時的時區(等效於 PDT)。 INTERVAL '-08:00' HOUR TO MINUTE UTC 以西 8 小時的時區(等效於 PST)。 LOCAL DEFAULT 將時區設定為你的本地時區(伺服器的作業系統預設的那個)。 參閱 Section 8.5 ``Date/Time Types'' 獲取有關時區的更多細節。
NOTES 注意
函式 set_config 提供了等效的功能。 參閱 Section 9.13 ``Miscellaneous Functions'' 。
EXAMPLES 例子
設定模式搜尋路徑: SET search_path TO my_schema, public; 把日期時間風格設定為傳統的 POSTGRES 風格, with ``day before month'' input convention: SET datestyle TO postgres, dmy; 把時區設定為加州伯克力, 使用雙引號儲存時區聲明裡大寫字元的屬性 (注意這裡的日期/時間格式 是 PostgreSQL): SET TIME ZONE 'PST8PDT'; SELECT current_timestamp AS today; today ------------------------------- 2003-04-29 15:02:01.218622-07
COMPATIBILITY 相容性
SET TIME ZONE 擴充套件了在 SQL 標準裡定義的語法。 標準只允許有一個數字時區偏移, 而 PostgreSQL 還允許完整更靈活的時區宣告。 所有其它的 SET 特性都是 PostgreSQL 擴充套件。
SEE ALSO 參見
RESET [reset(7)], SHOW [show(l)]
譯者
Postgresql 中文網站 何偉平 <laser@pgsqldb.org>
跋
本頁面中文版由中文 man 手冊頁計劃提供。 中文 man 手冊頁計劃:https://github.com/man-pages-zh/manpages-zh