PostgreSQL 权限设定
应用场景
我们需要一个账号统一管理影响表结构的操作。而其他账号用于维护数据,系统链接。
那么在PostgreSQL中,创建表的所有人拥有对该表的管理操作,如果想要收回这个权限,只需要转移owner即可。
change owner
ALTER TABLE {table} OWNER TO {account}
privileges
GRANT ALL ON {table} TO {account};
batch
其思想就是 用 concat 函数拼接字符串。然后复制到 excel 里核对,再执行即可。
select concat('ALTER TABLE ',tablename,' OWNER TO {account}')
from pg_tables where "tableowner" = '{account}'