配置用户访问模式权限

最近更新时间: 2025-02-18 16:02:00

普通用户对于某个模式下的对象访问除了访问对象要授权外,模式也需要授权。

  • 复制
    复制成功
[tbase@VM_0_37_centos root]$ psql -U tbase
psql (PostgreSQL 10.0 TBase V2)
Type "help" for help.

postgres=# create table tbase.t(id int);

CREATE TABLE
  • 这里授权用户可以访问tbase.t表。
  • 复制
    复制成功
postgres=# grant select on tbase.t to pgxz;
GRANT
postgres=# \q
[tbase@VM_0_37_centos root]$ psql -U pgxz
psql (PostgreSQL 10.0 TBase V2)
Type "help" for help.
  • 在没授权用户可以使用tbase模式前,还是访问不了。
  • 复制
    复制成功
postgres=> select * from tbase.t;
ERROR: permission denied for schema tbase
LINE 1: select * from tbase.t;
                      ^
postgres=> \q
[tbase@VM_0_37_centos root]$ psql -U tbase
psql (PostgreSQL 10.0 TBase V2)
Type "help" for help.

postgres=# grant USAGE on SCHEMA tbase to pgxz;
GRANT
postgres=# \q
[tbase@VM_0_37_centos root]$ psql -U pgxz
psql (PostgreSQL 10.0 TBase V2)
Type "help" for help.

postgres=> select * from tbase.t;
 id 
----
(0 rows)