transaction_read_only
是一个 配置参数,用于显示当前事务是否为只读。
transaction_read_only
在 PostgreSQL 7.4 中添加。
默认
transaction_read_only
的默认值为 default_transaction_read_only
的当前值。
更改历史记录
- PostgreSQL 7.4
- 添加 (提交 b65cd562)
示例
transaction_read_only
的基本用法示例
postgres=# SHOW transaction_read_only; transaction_read_only ----------------------- off (1 row) postgres=# SET default_transaction_read_only TO on; SET postgres=# SHOW transaction_read_only; transaction_read_only ----------------------- on (1 row)
在事务中更改 transaction_read_only
等效于执行 SET TRANSACTION READ WRITE
或 ... READ ONLY
。
postgres=# SHOW transaction_read_only; transaction_read_only ----------------------- on (1 row) postgres=# BEGIN; BEGIN postgres=*# SET transaction_read_only = off; SET postgres=*# INSERT INTO foo VALUES (1); INSERT 0 1 postgres=*# COMMIT; COMMIT
无法在备用服务器上设置 transaction_read_only
postgres=# SET transaction_read_only TO off; ERROR: cannot set transaction read-write mode during recovery
参考
- PostgreSQL 文档: transaction_read_only
另请参阅
default_transaction_read_only,transaction_isolation,transaction_deferrable