lo_compat_privileges
是一个 配置参数,用于确定是否禁用 PostgreSQL 9.0 中引入的 大型对象 的权限检查。
lo_compat_privileges
在 PostgreSQL 9.0 中添加,以提供对 9.0 之前版本的向后兼容性。
默认值
lo_compat_privileges
的默认值为:off
。
按 PostgreSQL 版本分列的详细信息
lo_compat_privileges (PostgreSQL 18)
设置 |
off |
单位 |
|
类别 |
版本和平台兼容性/以前的 PostgreSQL 版本 |
简短描述 |
启用大型对象权限检查的反向兼容模式。 |
额外描述 |
为了与 9.0 之前的 PostgreSQL 版本兼容,在读取或修改大型对象时跳过权限检查。 |
上下文 |
超级用户 |
变量类型 |
bool |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行 |
|
待重启 |
false |
文档: lo_compat_privileges
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