登录命令行
sudo su - postgres #默认创建了postgres用户psql
创建用户
CREATE USER qinyi WITH PASSWORD '123456';
创建数据库
create DATABASE test OWNER qinyi;
创建模式
CREATE schema api OWNER qinyi;
查看帮助
\?
查看数据库列表
\l
查看模式列表
\dn

public模式实际上是指pg_catalog,information_schema
查看模式下的表列表
\dt *.* #查看所有模式下的所有表\dt pg_catalog.* #查看pg_catalog下面的所有表

\dt publice.* 会报错,原因是没有这个模式
查看当前模式
show search_path;
切换当前模式
set search_path=api;show search_path;
查询所有角色
select * from pg_roles;
查询所有用户
select * from pg_user;
查看某用户有哪些权限
select * from information_schema.role_table_grants where grantee='qinyi';
查看某个表被哪些用户拥有哪些权限
\z api.book;

Access privileges 代表的含义如下

授予权限
# 给用户 qinyi 授予 api.book 表的 select 权限grant select on api.book to qinyi;# 给用户 qinyi 授予 api.book 表的 insert,update,delete 权限grant insert,update,delete on api.book to qinyi;# 给用户 qinyi 授予 api.book 表的 所有 权限grant all on api.book to qinyi;# 给用户 qinyi 授予 api.book 表的 主键自增的 select 权限grant usage, select on sequence api.book_id_seq to qinyi;
撤销权限
# 撤销用户 qinyi 对于 api.book 表的 select 权限revoke select on api.book from qinyi;# 撤销用户 qinyi 对于 api.book 表的 所有 权限revoke all on api.book from qinyi;
查看表结构
\d api.book;
退出
\q

