我有一个简单的问题,但我无法从官方文档中找到答案。当我以特定用户的身份在 PostgreSQL 中创建数据库时,我是该数据库下除架构之外的所有对象的所有者。是否有理由默认 postgres 角色是架构所有者?我想不出对此设置的任何解释。只是好奇 ...
通过克隆现有数据库来创建新数据库。如果您没有指定要克隆哪一个,PostgreSQL 会克隆默认隐藏的数据库template1
。中的所有对象template1
都归用户所有postgres
。
因此,在从或克隆数据库时,您不是数据库中任何对象的所有者;您只拥有数据库本身。template0
template1
新对象是由您创建的,因为它们是您创建的。现有对象保留其现有所有权。
见\dn *
中psql
看到的命名空间定义,\dp *.*
看看表/视图/序列的权限,\df+ *
看到与业主函数定义,\dT *
看到的数据类型,等等。你会看到,在一个新的空白DB他们全部由用户所拥有postgres
。
归档时间: |
|
查看次数: |
3313 次 |
最近记录: |