一个可信扩展
是 扩展,可以由非超级用户安装。
可信扩展
是在 PostgreSQL 13 中添加的。
用法
可信扩展
可以由任何具有当前数据库创建权限的用户安装,通常是数据库所有者。
可以通过在扩展的控制文件中包含以下行来将其标记为可信:
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.
如果授予数据库的创建权限,则可以创建扩展
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 文档: 扩展的安全注意事项
类别
另请参阅
可信语言