我不确定PostgreSQL
表所有者的含义。我注意到它改变了表本身的属性而不是所有者的属性,因为它是通过
ALTER table SET OWNER role;
答案 0 :(得分:7)
您可以在某些表格中看到谁是所有者:
select * from pg_tables where tablename = 'my_tbl';
或者您可以查看某些所有者的所有表:
select * from pg_tables where tableowner = 'username';
答案 1 :(得分:6)
所有者是(如果没有其他事情发生)创建表的用户(角色)。因此,如果用户arthur
运行create table foo (id integer)
,则arthur
拥有该表。
表的所有者拥有它的所有权限 - 包括删除它的权限。或者授予其他用户(角色)访问权限的权限。
pg_dump
生成的SQL脚本通常包含alter table set owner ...
语句,因为这些脚本是由DBA运行的,在这种情况下,所有表都将由DBA拥有 - 这意味着“真正的“所有者无法更改或访问表格。