Provided by:
manpages-zh_1.5-1_all 
NAME
SET - 改變運行時參數
SYNOPSIS
SET [ SESSION | LOCAL ] name { TO | = } { value | 'value' | DEFAULT }
SET [ SESSION | LOCAL ] TIME ZONE { timezone | LOCAL | DEFAULT }
DESCRIPTIONyz
SET 命令蚹儮B行時配置參數。許多在 Section 16.4 ``Run-time
Configuration'' 裏惘C出的運行時參數可以用 SET 在運行時設置。
(但是有些n求使用超級使用者權來蚹鵅A而其它有些則在伺服器或者會話
開始之後不能蚹鵅C)請注意 SET 只影響當前會話使用的數C
如果 SET 或者 SET SESSION 是在一茧y後退出的事務裏發出的, 那麼 SET
命令的效果將在事務回滾的之後小時。 (這茼甈骨MPostgreSQL版本 7.3
之前的不同, 那荇尕 SET 的效果在後悸瑪欞~之後不會回滾。)
一旦包圍它的事務提交,那麼其效果將持續到事務的結束,除非被另外一 SET
覆蓋。
SET LOCAL 的效果只持續到當前事務結束,不管是否提交。 一荅S例是在一-
茖堭的 SET 後掘繺菑@ SET LOCAL:在事務結束之前只能看到 SET LOCAL
的數A但是之後(如果事務提交),則是 SET 的肸纂C
PARAMETERS項
SESSION
聲明這茤R令只對當前會話起作用。 (如果 SESSION 或 LOCAL
都沒出現,那麼這茯O預設。)
LOCAL 聲明該命令只在當前事務中有效。在 COMMIT 或者 ROLLBACK
之後,會話級別的設置將再次生效。 請注意如果在 BEGIN
塊之外運行,那麼 SET LOCAL
將表現出沒有作用,因為事務將立即結束。
name 可設置的運行時參數的名字。可用的參數在 Section 16.4 ``Run-time
Configuration'' 和下授k檔。
value 參數的新Ci以聲明為字串常量,標識符,數字,或者逗號分隔的上-
掖o些東西的列表。 DEFAULT 可以用於把這些參數設置為它怐犒w設C
除了在 Section 16.4 ``Run-time Configuration'' 裏-
惘酗憟饇O載的配置參數之外, 還有幾茈u能用 SET
命令設置,或者是有特殊的語法的參數:
NAMES SET NAMES value 是 SET client_encoding TO value 的別名。
SEED 為隨機數生成器(函數 random)設置內部的種子。 允許的O介於 0
和 1 之間的浮點數,然後它會被憧H 231-1。
我怳]可以通過調用函數 setseed 來設置種子:
SELECT setseed(value);
TIME ZONE
SET TIME ZONE value 是 for SET timezone TO value 的一荍O名。
語法 SET TIME ZONE 允許為時區設置特殊的語法。 下惇O有效漕狺l:
'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`N
函數 set_config 提供了等效的功能。 參閱 Section 9.13 ``Miscellaneous
Functions'' 。
EXAMPLESl
設置模式搜索路徑:
SET search_path TO my_schema, public;
把日期時間榆瘜]置為傳統的 POSTGRES 榆獢A 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
COMPATIBILITYe性
SET TIME ZONE 擴展了在 SQL 標準裏定義的語法。 標準只允許有一-
蚍r時區偏移, 而 PostgreSQL 還允許完整更靈活的時區聲明。 所有其它的
SET 特性都是 PostgreSQL 擴展。
SEE ALSO見
RESET [reset(7)], SHOW [show(l)]
者
Postgresql <laser@pgsqldb.org>