Man page - set_transaction(7)
Manual
SET TRANSACTION
NAMESYNOPSIS
DESCRIPTION 描 述
NOTES 注 意
COMPATIBILITY 相 容 性
譯 者
跋
NAME
SET TRANSACTION - 設 定 當 前 事 務 的 特 性
SYNOPSIS
SET TRANSACTION
[ ISOLATION LEVEL { READ COMMITTED | SERIALIZABLE } ] [ READ
WRITE | READ ONLY ]
SET SESSION CHARACTERISTICS AS TRANSACTION
[ ISOLATION LEVEL { READ COMMITTED | SERIALIZABLE } ] [ READ
WRITE | READ ONLY ]
DESCRIPTION 描 述
SET TRANSACTION 命 令 為 當 前 事 務 設 定 特 性 。 它 對 後 面 的 事 務 沒 有 影 響 。 SET SESSION CHARACTERISTICS 為 一 個 會 話 中 的 每 個 事 務 設 定 預 設 的 隔 離 級 別 。 SET TRANSACTION 可 以 為 一 個 獨 立 的 事 務 覆 蓋 上 面 的 設 定 。
可 用 的 事 務 特 性 是 事 務 隔 離 級 別 和 事 務 訪 問 模 式 ( 讀 /寫 或 者 只 讀 ) 。
事
務 的 隔 離 級 別
決 定 一 個 事 務
在 同 時 存 在 其
它 並 行 執 行 的
事 務 時 它 能 夠
看 到 什 麼 資 料
。
READ COMMITTED
一 條 語 句 只 能 看 到 在 它 開 始 之 前 的 資 料 。 這 是 預 設 。
SERIALIZABLE
當 前 的 事 務 只 能 看 到 在 這 次 事 務 第 一 條 查 詢 或 者 修 改 資 料 的 語 句 執 行 之 前 的 資 料 。
Tip: 提 示 : 說 白 了 , serializable( 可 序 列 化 ) 意 味 著 兩 個 事 務 將 把 資 料 庫 保 持 在 同 一 個 狀 態 , 就 好 象 這 兩 個 事 務 是 嚴 格 地 按 照 先 後 順 序 執 行 地 那 樣 。
事 務 隔 離 級 別 在 事 務 中 第 一 個 資 料 修 改 語 句 ( SELECT , INSERT , DELETE , UPDATE , FETCH , COPY ) 執 行 之 後 就 不 能 再 次 設 定 。 參 閱 Chapter 12 ‘‘Concurrency Control’’ 獲 取 有 關 事 務 隔 離 級 別 和 併 發 性 控 制 的 更 多 資 訊 。
事 務 訪 問 模 式 決 定 事 務 是 讀 /寫 還 是 隻 讀 。 讀 /寫 是 預 設 。 如 果 一 個 事 務 是 隻 讀 , 而 且 寫 入 的 表 不 是 臨 時 表 , 那 麼 下 面 的 SQL 命 令 是 不 允 許 的 : INSERT, UPDATE, DELETE, 和 COPY TO; 而 所 有 的 CREATE, ALTER, 和 DROP 命 令 ; COMMENT, GRANT, REVOKE, TRUNCATE; 和 EXPLAIN ANALYZE 和 EXECUTE 都 不 允 許 。 這 是 一 個 高 層 次 的 只 讀 概 念 , 它 並 不 阻 止 對 磁 碟 的 寫 入 。
NOTES 注 意
會 話 的 預 設 事 務 隔 離 級 別 也 可 以 用 命 令
SET default_transaction_isolation = ’ value ’
以 及 在 配 置 檔 案 裡 設 定 。 參 考 Section 16.4 ‘‘Run-time Configuration’’ 獲 取 更 多 資 訊 。
COMPATIBILITY 相 容 性
兩 個 命 令 都 在 SQL 標 準 裡 定 義 了 。 SQL 裡 的 預 設 事 務 隔 離 級 別 是 SERIALIZABLE; 在 PostgreSQL 裡 , 預 設 隔 離 級 別 是 READ COMMITED, 但 是 你 可 以 用 上 面 的 描 述 修 改 它 。 PostgreSQL 並 沒 有 提 供 隔 離 級 別 READ UNCOMMITTED 和 REPEATABLE READ。 因 為 多 版 本 併 發 控 制 , SERIALIZABLE 級 別 並 非 真 正 的 可 序 列 化 。 參 閱 Chapter 12 ‘‘Concurrency Control’’ 獲 取 細 節 。
在 SQL 標 準 裡 還 有 另 外 一 種 事 務 特 性 可 以 用 這 些 命 令 設 定 : 診 斷 範 圍 的 大 小 。 這 個 概 念 只 用 於 嵌 入 的 SQL。
譯 者
Postgresql 中 文 網 站 何 偉 平 <laser@pgsqldb.org>
跋
本
頁 面 中 文 版 由
中 文 man 手 冊 頁 計
劃 提 供 。
中 文 man 手 冊 頁 計
劃 :
https://github.com/man-pages-zh/manpages-zh