【案例】PostgreSQL修改表属主报错分析

问题背景

表的owner修改表的属主报错

问题模拟

create user user1 password 'user1';
create user user2 password 'user2';
-- 创建模式
create schema authorization user1;
-- 创建测试表
psql -U user1 -c "create table test_t(id int);"
-- user1连接后把表的属主修改为user2
psql -U user1 -c "alter table test_t owner to user2"

授权会报错:提示没有schema user1的权限 

问题分析

上述的修改属主操作完整的命令如下:

alter table user1.test_t owner to user2;

修改后的效果相当于user2用户在user1模式下创建了test_t这张表,这个角度理解的话,这条命令执行成功的前提是:user1用户需要有user2模式的create权限,即需要进行如下授权:

grant create on schema user2 to user1;
posted @ 2026-02-06 22:18  kahnyao  阅读(2)  评论(0)    收藏  举报