lo_compat_privileges 是一个 配置参数,用于确定是否禁用在 PostgreSQL 9.0 中引入的 大对象 的权限检查。
lo_compat_privileges 于 PostgreSQL 9.0 中添加,以提供与 9.0 版本之前行为的向后兼容性。
默认值
lo_compat_privileges 的默认值为:off。
按 PostgreSQL 版本详细信息
lo_compat_privileges (PostgreSQL 19)
| 设置 |
off |
| 单位 |
|
| 类别 |
版本和平台兼容性 / 之前的 PostgreSQL 版本 |
| 简短描述 |
启用大对象的权限检查的向后兼容模式。 |
| 扩展描述 |
为了与 9.0 版本之前的 PostgreSQL 版本兼容,在读取或修改大对象时会跳过权限检查。 |
| 上下文 |
superuser |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档: lo_compat_privileges
lo_compat_privileges (PostgreSQL 18)
| 设置 |
off |
| 单位 |
|
| 类别 |
版本和平台兼容性 / 之前的 PostgreSQL 版本 |
| 简短描述 |
启用大对象的权限检查的向后兼容模式。 |
| 扩展描述 |
为了与 9.0 版本之前的 PostgreSQL 版本兼容,在读取或修改大对象时会跳过权限检查。 |
| 上下文 |
superuser |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档: lo_compat_privileges
lo_compat_privileges (PostgreSQL 17)
| 设置 |
off |
| 单位 |
|
| 类别 |
版本和平台兼容性 / 之前的 PostgreSQL 版本 |
| 简短描述 |
启用大对象的权限检查的向后兼容模式。 |
| 扩展描述 |
为了与 9.0 版本之前的 PostgreSQL 版本兼容,在读取或修改大对象时会跳过权限检查。 |
| 上下文 |
superuser |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档: lo_compat_privileges
lo_compat_privileges (PostgreSQL 16)
| 设置 |
off |
| 单位 |
|
| 类别 |
版本和平台兼容性 / 之前的 PostgreSQL 版本 |
| 简短描述 |
启用大对象的权限检查的向后兼容模式。 |
| 扩展描述 |
为了与 9.0 版本之前的 PostgreSQL 版本兼容,在读取或修改大对象时会跳过权限检查。 |
| 上下文 |
superuser |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档: lo_compat_privileges
lo_compat_privileges (PostgreSQL 15)
| 设置 |
off |
| 单位 |
|
| 类别 |
版本和平台兼容性 / 之前的 PostgreSQL 版本 |
| 简短描述 |
启用大对象的权限检查的向后兼容模式。 |
| 扩展描述 |
为了与 9.0 版本之前的 PostgreSQL 版本兼容,在读取或修改大对象时会跳过权限检查。 |
| 上下文 |
superuser |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档: lo_compat_privileges
lo_compat_privileges (PostgreSQL 14)
| 设置 |
off |
| 单位 |
|
| 类别 |
版本和平台兼容性 / 之前的 PostgreSQL 版本 |
| 简短描述 |
启用大对象的权限检查的向后兼容模式。 |
| 扩展描述 |
为了与 9.0 版本之前的 PostgreSQL 版本兼容,在读取或修改大对象时会跳过权限检查。 |
| 上下文 |
superuser |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档: lo_compat_privileges
lo_compat_privileges (PostgreSQL 13)
| 设置 |
off |
| 单位 |
|
| 类别 |
版本和平台兼容性 / 之前的 PostgreSQL 版本 |
| 简短描述 |
启用大对象的权限检查的向后兼容模式。 |
| 扩展描述 |
为了与 9.0 版本之前的 PostgreSQL 版本兼容,在读取或修改大对象时会跳过权限检查。 |
| 上下文 |
superuser |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档: lo_compat_privileges
lo_compat_privileges (PostgreSQL 12)
| 设置 |
off |
| 单位 |
|
| 类别 |
版本和平台兼容性 / 之前的 PostgreSQL 版本 |
| 简短描述 |
启用大对象的权限检查的向后兼容模式。 |
| 扩展描述 |
为了与 9.0 版本之前的 PostgreSQL 版本兼容,在读取或修改大对象时会跳过权限检查。 |
| 上下文 |
superuser |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档: lo_compat_privileges
lo_compat_privileges (PostgreSQL 11)
| 设置 |
off |
| 单位 |
|
| 类别 |
版本和平台兼容性 / 之前的 PostgreSQL 版本 |
| 简短描述 |
启用大对象的权限检查的向后兼容模式。 |
| 扩展描述 |
为了与 9.0 版本之前的 PostgreSQL 版本兼容,在读取或修改大对象时会跳过权限检查。 |
| 上下文 |
superuser |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档: lo_compat_privileges
lo_compat_privileges (PostgreSQL 10)
| 设置 |
off |
| 单位 |
|
| 类别 |
版本和平台兼容性 / 之前的 PostgreSQL 版本 |
| 简短描述 |
启用大对象的权限检查的向后兼容模式。 |
| 扩展描述 |
为了与 9.0 版本之前的 PostgreSQL 版本兼容,在读取或修改大对象时会跳过权限检查。 |
| 上下文 |
superuser |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档: lo_compat_privileges
lo_compat_privileges (PostgreSQL 9.6)
| 设置 |
off |
| 单位 |
|
| 类别 |
版本和平台兼容性 / 之前的 PostgreSQL 版本 |
| 简短描述 |
启用大对象的权限检查的向后兼容模式。 |
| 扩展描述 |
为了与 9.0 版本之前的 PostgreSQL 版本兼容,在读取或修改大对象时会跳过权限检查。 |
| 上下文 |
superuser |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档: lo_compat_privileges
lo_compat_privileges (PostgreSQL 9.5)
| 设置 |
off |
| 单位 |
|
| 类别 |
版本和平台兼容性 / 之前的 PostgreSQL 版本 |
| 简短描述 |
启用大对象的权限检查的向后兼容模式。 |
| 扩展描述 |
为了与 9.0 版本之前的 PostgreSQL 版本兼容,在读取或修改大对象时会跳过权限检查。 |
| 上下文 |
superuser |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档: lo_compat_privileges
lo_compat_privileges (PostgreSQL 9.4)
| 设置 |
off |
| 单位 |
|
| 类别 |
版本和平台兼容性 / 之前的 PostgreSQL 版本 |
| 简短描述 |
启用大对象的权限检查的向后兼容模式。 |
| 扩展描述 |
为了与 9.0 版本之前的 PostgreSQL 版本兼容,在读取或修改大对象时会跳过权限检查。 |
| 上下文 |
superuser |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
文档: lo_compat_privileges
lo_compat_privileges (PostgreSQL 9.3)
| 设置 |
off |
| 单位 |
|
| 类别 |
版本和平台兼容性 / 之前的 PostgreSQL 版本 |
| 简短描述 |
启用大对象的权限检查的向后兼容模式。 |
| 扩展描述 |
为了与 9.0 版本之前的 PostgreSQL 版本兼容,在读取或修改大对象时会跳过权限检查。 |
| 上下文 |
superuser |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
文档: lo_compat_privileges
lo_compat_privileges (PostgreSQL 9.2)
| 设置 |
off |
| 单位 |
|
| 类别 |
版本和平台兼容性 / 之前的 PostgreSQL 版本 |
| 简短描述 |
启用大对象的权限检查的向后兼容模式。 |
| 扩展描述 |
为了与 9.0 版本之前的 PostgreSQL 版本兼容,在读取或修改大对象时会跳过权限检查。 |
| 上下文 |
superuser |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
文档: lo_compat_privileges
lo_compat_privileges (PostgreSQL 9.1)
| 设置 |
off |
| 单位 |
|
| 类别 |
版本和平台兼容性 / 之前的 PostgreSQL 版本 |
| 简短描述 |
启用大对象的权限检查的向后兼容模式。 |
| 扩展描述 |
为了与 9.0 版本之前的 PostgreSQL 版本兼容,在读取或修改大对象时会跳过权限检查。 |
| 上下文 |
superuser |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
文档: lo_compat_privileges
lo_compat_privileges (PostgreSQL 9.0)
| 设置 |
off |
| 单位 |
|
| 类别 |
版本和平台兼容性 / 之前的 PostgreSQL 版本 |
| 简短描述 |
启用大对象的权限检查的向后兼容模式。 |
| 扩展描述 |
为了与 9.0 版本之前的 PostgreSQL 版本兼容,在读取或修改大对象时会跳过权限检查。 |
| 上下文 |
superuser |
| 变量类型 |
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