lo_compat_privileges
是一个配置参数,用于确定是否禁用在大型对象中引入的特权检查,该功能在PostgreSQL 9.0中引入。
lo_compat_privileges
在PostgreSQL 9.0中添加,以提供对9.0之前版本的向后兼容性。
默认值
lo_compat_privileges
的默认值为:off
。
按PostgreSQL版本查看详情
lo_compat_privileges (PostgreSQL 17)
设置 |
off |
单位 |
|
类别 |
版本和平台兼容性/之前的PostgreSQL版本 |
简短描述 |
启用大型对象特权检查的向后兼容模式。 |
额外描述 |
为了与9.0之前的PostgreSQL版本兼容,在读取或修改大型对象时跳过特权检查。 |
上下文 |
超级用户 |
变量类型 |
bool |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行号 |
|
待重启 |
false |
文档: lo_compat_privileges
lo_compat_privileges (PostgreSQL 16)
设置 |
off |
单位 |
|
类别 |
版本和平台兼容性/之前的PostgreSQL版本 |
简短描述 |
启用大型对象特权检查的向后兼容模式。 |
额外描述 |
为了与9.0之前的PostgreSQL版本兼容,在读取或修改大型对象时跳过特权检查。 |
上下文 |
超级用户 |
变量类型 |
bool |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行号 |
|
待重启 |
false |
文档: lo_compat_privileges
lo_compat_privileges (PostgreSQL 15)
设置 |
off |
单位 |
|
类别 |
版本和平台兼容性/之前的PostgreSQL版本 |
简短描述 |
启用大型对象特权检查的向后兼容模式。 |
额外描述 |
为了与9.0之前的PostgreSQL版本兼容,在读取或修改大型对象时跳过特权检查。 |
上下文 |
超级用户 |
变量类型 |
bool |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行号 |
|
待重启 |
false |
文档: lo_compat_privileges
lo_compat_privileges (PostgreSQL 14)
设置 |
off |
单位 |
|
类别 |
版本和平台兼容性/之前的PostgreSQL版本 |
简短描述 |
启用大型对象特权检查的向后兼容模式。 |
额外描述 |
为了与9.0之前的PostgreSQL版本兼容,在读取或修改大型对象时跳过特权检查。 |
上下文 |
超级用户 |
变量类型 |
bool |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行号 |
|
待重启 |
false |
文档: lo_compat_privileges
lo_compat_privileges (PostgreSQL 13)
设置 |
off |
单位 |
|
类别 |
版本和平台兼容性/之前的PostgreSQL版本 |
简短描述 |
启用大型对象特权检查的向后兼容模式。 |
额外描述 |
为了与9.0之前的PostgreSQL版本兼容,在读取或修改大型对象时跳过特权检查。 |
上下文 |
超级用户 |
变量类型 |
bool |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行号 |
|
待重启 |
false |
文档: lo_compat_privileges
lo_compat_privileges (PostgreSQL 12)
设置 |
off |
单位 |
|
类别 |
版本和平台兼容性/之前的PostgreSQL版本 |
简短描述 |
启用大型对象特权检查的向后兼容模式。 |
额外描述 |
为了与9.0之前的PostgreSQL版本兼容,在读取或修改大型对象时跳过特权检查。 |
上下文 |
超级用户 |
变量类型 |
bool |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行号 |
|
待重启 |
false |
文档: lo_compat_privileges
lo_compat_privileges (PostgreSQL 11)
设置 |
off |
单位 |
|
类别 |
版本和平台兼容性/之前的PostgreSQL版本 |
简短描述 |
启用大型对象特权检查的向后兼容模式。 |
额外描述 |
为了与9.0之前的PostgreSQL版本兼容,在读取或修改大型对象时跳过特权检查。 |
上下文 |
超级用户 |
变量类型 |
bool |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行号 |
|
待重启 |
false |
文档: lo_compat_privileges
lo_compat_privileges (PostgreSQL 10)
设置 |
off |
单位 |
|
类别 |
版本和平台兼容性/之前的PostgreSQL版本 |
简短描述 |
启用大型对象特权检查的向后兼容模式。 |
额外描述 |
为了与9.0之前的PostgreSQL版本兼容,在读取或修改大型对象时跳过特权检查。 |
上下文 |
超级用户 |
变量类型 |
bool |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行号 |
|
待重启 |
false |
文档: lo_compat_privileges
lo_compat_privileges (PostgreSQL 9.6)
设置 |
off |
单位 |
|
类别 |
版本和平台兼容性/之前的PostgreSQL版本 |
简短描述 |
启用大型对象特权检查的向后兼容模式。 |
额外描述 |
为了与9.0之前的PostgreSQL版本兼容,在读取或修改大型对象时跳过特权检查。 |
上下文 |
超级用户 |
变量类型 |
bool |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行号 |
|
待重启 |
false |
文档: lo_compat_privileges
lo_compat_privileges (PostgreSQL 9.5)
设置 |
off |
单位 |
|
类别 |
版本和平台兼容性/之前的PostgreSQL版本 |
简短描述 |
启用大型对象特权检查的向后兼容模式。 |
额外描述 |
为了与9.0之前的PostgreSQL版本兼容,在读取或修改大型对象时跳过特权检查。 |
上下文 |
超级用户 |
变量类型 |
bool |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行号 |
|
待重启 |
false |
文档: lo_compat_privileges
lo_compat_privileges (PostgreSQL 9.4)
设置 |
off |
单位 |
|
类别 |
版本和平台兼容性/之前的PostgreSQL版本 |
简短描述 |
启用大型对象特权检查的向后兼容模式。 |
额外描述 |
为了与9.0之前的PostgreSQL版本兼容,在读取或修改大型对象时跳过特权检查。 |
上下文 |
超级用户 |
变量类型 |
bool |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行号 |
|
文档: lo_compat_privileges
lo_compat_privileges (PostgreSQL 9.3)
设置 |
off |
单位 |
|
类别 |
版本和平台兼容性/之前的PostgreSQL版本 |
简短描述 |
启用大型对象特权检查的向后兼容模式。 |
额外描述 |
为了与9.0之前的PostgreSQL版本兼容,在读取或修改大型对象时跳过特权检查。 |
上下文 |
超级用户 |
变量类型 |
bool |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行号 |
|
文档: lo_compat_privileges
lo_compat_privileges (PostgreSQL 9.2)
设置 |
off |
单位 |
|
类别 |
版本和平台兼容性/之前的PostgreSQL版本 |
简短描述 |
启用大型对象特权检查的向后兼容模式。 |
额外描述 |
为了与9.0之前的PostgreSQL版本兼容,在读取或修改大型对象时跳过特权检查。 |
上下文 |
超级用户 |
变量类型 |
bool |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行号 |
|
文档: lo_compat_privileges
lo_compat_privileges (PostgreSQL 9.1)
设置 |
off |
单位 |
|
类别 |
版本和平台兼容性/之前的PostgreSQL版本 |
简短描述 |
启用大型对象特权检查的向后兼容模式。 |
额外描述 |
为了与9.0之前的PostgreSQL版本兼容,在读取或修改大型对象时跳过特权检查。 |
上下文 |
超级用户 |
变量类型 |
bool |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行号 |
|
文档: lo_compat_privileges
lo_compat_privileges (PostgreSQL 9.0)
设置 |
off |
单位 |
|
类别 |
版本和平台兼容性/之前的PostgreSQL版本 |
简短描述 |
启用大型对象特权检查的向后兼容模式。 |
额外描述 |
为了与9.0之前的PostgreSQL版本兼容,在读取或修改大型对象时跳过特权检查。 |
上下文 |
超级用户 |
变量类型 |
bool |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行号 |
|
文档: lo_compat_privileges
更改历史记录
示例
lo_compat_privileges
在 off
(默认) 时效果示例
postgres=# \lo_import /tmp/random-meme.jpg 'Some meme'
lo_import 16458
postgres=# \dl
Large objects
ID | Owner | Description
-------+----------+-------------
16458 | postgres | Some meme
(1 row)
在PostgreSQL 9.0及更高版本中,不拥有大型对象的非特权用户无法删除它。
postgres=> \lo_unlink 16458
ERROR: must be owner of large object 16458
如果将lo_compat_privileges
设置为 on
,则恢复PostgreSQL 9.0之前的行为,任何用户都可以删除大型对象。
postgres=> SHOW lo_compat_privileges;
lo_compat_privileges
----------------------
on
(1 row)
postgres=> \lo_unlink 16458
lo_unlink 16458