Provided by: manpages-zh_1.5-1_all bug

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   參數的新Ci以聲明為字串常量,標識符,數字,或者逗號分隔的上-
              掖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>