一个受信任扩展
是一个可以由非超级用户安装的扩展。
受信任扩展
在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 文档: 扩展的安全注意事项
分类
另请参见
受信任语言