Man page - set(7)
Manual
SET
NAMESYNOPSIS
DESCRIPTION 描 述
PARAMETERS 選 項
NOTES 注 意
EXAMPLES 例 子
COMPATIBILITY 相 容 性
SEE ALSO 參 見
譯 者
跋
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