受信任的扩展 是一个可以由非超级用户安装的扩展。
受信任的扩展是在PostgreSQL 13中添加的。
用法
受信任的扩展可以由对当前数据库拥有CREATE权限的任何用户安装,通常是数据库所有者。
可以通过在其控制文件中包含以下行来将扩展标记为受信任:
trusted = true
在其控制文件中。
目前,只能通过检查扩展的文档或控制文件来确定该扩展是否受信任。
受信任的扩展不应与受信任的语言混淆。
变更历史
示例
正常情况下,非超级用户无法创建扩展。
postgres=> CREATE EXTENSION ltree; ERROR: permission denied to create extension "ltree" HINT: Must have CREATE privilege on current database to create this extension.
如果授予了数据库的CREATE权限,则可以创建该扩展。
postgres=> \c - postgres You are now connected to database "postgres" as user "postgres". postgres=# GRANT CREATE ON DATABASE postgres TO foo; GRANT postgres=# \c - foo You are now connected to database "postgres" as user "foo". postgres=> CREATE EXTENSION ltree; CREATE EXTENSION
尝试以非超级用户的身份创建不受信任的扩展。
postgres=> CREATE EXTENSION sslinfo; ERROR: permission denied to create extension "sslinfo" HINT: Must be superuser to create this extension.
参考资料
- PostgreSQL文档: 扩展的安全注意事项
分类
另请参阅
受信任的语言
