transaction_read_only

一个 GUC,显示事务的只读状态

transaction_read_only 是一个 配置参数,用于显示当前事务是否为只读。

transaction_read_onlyPostgreSQL 7.4 中添加。

默认

transaction_read_only 的默认值是 default_transaction_read_only 的当前值。

按 PostgreSQL 版本详细信息

transaction_read_only (PostgreSQL 19)

设置 off
单位  
类别 客户端连接默认值 / 语句行为
简短描述 设置当前事务的只读状态。
扩展描述  
上下文 user
变量类型 bool
来源 override
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源行  
需要重启 false

文档transaction_read_only

transaction_read_only (PostgreSQL 18)

设置 off
单位  
类别 客户端连接默认值 / 语句行为
简短描述 设置当前事务的只读状态。
扩展描述  
上下文 user
变量类型 bool
来源 override
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源行  
需要重启 false

文档transaction_read_only

transaction_read_only (PostgreSQL 17)

设置 off
单位  
类别 客户端连接默认值 / 语句行为
简短描述 设置当前事务的只读状态。
扩展描述  
上下文 user
变量类型 bool
来源 override
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源行  
需要重启 false

文档transaction_read_only

transaction_read_only (PostgreSQL 16)

设置 off
单位  
类别 客户端连接默认值 / 语句行为
简短描述 设置当前事务的只读状态。
扩展描述  
上下文 user
变量类型 bool
来源 override
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源行  
需要重启 false

文档transaction_read_only

transaction_read_only (PostgreSQL 15)

设置 off
单位  
类别 客户端连接默认值 / 语句行为
简短描述 设置当前事务的只读状态。
扩展描述  
上下文 user
变量类型 bool
来源 override
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源行  
需要重启 false

文档transaction_read_only

transaction_read_only (PostgreSQL 14)

设置 off
单位  
类别 客户端连接默认值 / 语句行为
简短描述 设置当前事务的只读状态。
扩展描述  
上下文 user
变量类型 bool
来源 override
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源行  
需要重启 false

文档transaction_read_only

transaction_read_only (PostgreSQL 13)

设置 off
单位  
类别 客户端连接默认值 / 语句行为
简短描述 设置当前事务的只读状态。
扩展描述  
上下文 user
变量类型 bool
来源 override
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源行  
需要重启 false

文档transaction_read_only

transaction_read_only (PostgreSQL 12)

设置 off
单位  
类别 客户端连接默认值 / 语句行为
简短描述 设置当前事务的只读状态。
扩展描述  
上下文 user
变量类型 bool
来源 override
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源行  
需要重启 false

文档transaction_read_only

transaction_read_only (PostgreSQL 11)

设置 off
单位  
类别 客户端连接默认值 / 语句行为
简短描述 设置当前事务的只读状态。
扩展描述  
上下文 user
变量类型 bool
来源 override
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源行  
需要重启 false

文档transaction_read_only

transaction_read_only (PostgreSQL 10)

设置 off
单位  
类别 客户端连接默认值 / 语句行为
简短描述 设置当前事务的只读状态。
扩展描述  
上下文 user
变量类型 bool
来源 override
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源行  
需要重启 false

文档transaction_read_only

transaction_read_only (PostgreSQL 9.6)

设置 off
单位  
类别 客户端连接默认值 / 语句行为
简短描述 设置当前事务的只读状态。
扩展描述  
上下文 user
变量类型 bool
来源 override
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源行  
需要重启 false

文档transaction_read_only

transaction_read_only (PostgreSQL 9.5)

设置 off
单位  
类别 客户端连接默认值 / 语句行为
简短描述 设置当前事务的只读状态。
扩展描述  
上下文 user
变量类型 bool
来源 override
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源行  
需要重启 false

文档transaction_read_only

transaction_read_only (PostgreSQL 9.4)

设置 off
单位  
类别 客户端连接默认值 / 语句行为
简短描述 设置当前事务的只读状态。
扩展描述  
上下文 user
变量类型 bool
来源 override
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源行  

文档transaction_read_only

transaction_read_only (PostgreSQL 9.3)

设置 off
单位  
类别 客户端连接默认值 / 语句行为
简短描述 设置当前事务的只读状态。
扩展描述  
上下文 user
变量类型 bool
来源 override
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源行  

文档transaction_read_only

transaction_read_only (PostgreSQL 9.2)

设置 off
单位  
类别 客户端连接默认值 / 语句行为
简短描述 设置当前事务的只读状态。
扩展描述  
上下文 user
变量类型 bool
来源 override
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源行  

文档transaction_read_only

transaction_read_only (PostgreSQL 9.1)

设置 off
单位  
类别 客户端连接默认值 / 语句行为
简短描述 设置当前事务的只读状态。
扩展描述  
上下文 user
变量类型 bool
来源 override
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源行  

文档transaction_read_only

transaction_read_only (PostgreSQL 9.0)

设置 off
单位  
类别 客户端连接默认值 / 语句行为
简短描述 设置当前事务的只读状态。
扩展描述  
上下文 user
变量类型 bool
来源 override
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源行  

文档transaction_read_only

transaction_read_only (PostgreSQL 8.4)

设置 off
单位  
类别 客户端连接默认值 / 语句行为
简短描述 设置当前事务的只读状态。
扩展描述  
上下文 user
变量类型 bool
来源 override
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源行  

文档transaction_read_only

transaction_read_only (PostgreSQL 8.3)

设置  
单位  
类别 客户端连接默认值 / 语句行为
简短描述 设置当前事务的只读状态。
扩展描述  
上下文 user
变量类型 bool
来源 override
最小值  
最大值  

文档transaction_read_only

transaction_read_only (PostgreSQL 8.2)

设置  
单位  
类别 客户端连接默认值 / 语句行为
简短描述 设置当前事务的只读状态。
扩展描述  
上下文 user
变量类型 bool
来源 override
最小值  
最大值  

文档transaction_read_only

变更历史

示例

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

分类

GUC配置项, 事务

另请参阅

default_transaction_read_only, transaction_isolation, transaction_deferrable

反馈

请在此处提交有关“transaction_read_only”的任何评论、建议或更正。