1、postgresql权限说明
- SELECT
- INSERT
- UPDATE
- DELETE
- TRUNCATE
- REFERENCES
- TRIGGER
- CREATE
- CONNECT
- TEMPORARY
- EXECUTE
- USAGE
GRANT privilege [, ...]
ON object [, ...]
TO { PUBLIC | GROUP group | username }
- privilege − 值可以为:SELECT,INSERT,UPDATE,DELETE, RULE,ALL。
- object − 要授予访问权限的对象名称。可能的对象有: table, view,sequence。
- PUBLIC − 表示所有用户。
- GROUP group − 为用户组授予权限。
- username − 要授予权限的用户名。PUBLIC 是代表所有用户的简短形式。
另外,我们可以使用 REVOKE 命令取消权限,REVOKE 语法:
REVOKE privilege [, ...]
ON object [, ...]
FROM { PUBLIC | GROUP groupname | username }
2、建立普通用户,并赋予权限
创建普通用户,并制定密码
CREATE USER fujian_fore WITH PASSWORD 'fujian_fore@123456';
赋予所有表的操作权限
grant SELECT,INSERT,UPDATE,DELETE on all tables in schema public to fujian_fore;
赋予所有序列的操作权限
GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA public TO fujian_fore;
3、修改默认超级用户postgres
注意:用其他超级用户执行postgres重命名操作
(1)建立一个其他超级用户postgres1
CREATE USER postgres1 WITH
LOGIN
SUPERUSER
INHERIT
CREATEDB
CREATEROLE
REPLICATION;
ALTER USER postgres1 WITH PASSWORD 'postgres1@123456';
(2)用postgres1登陆,修改postgres名称
ALTER USER postgres RENAME TO admins
ALTER USER admins WITH PASSWORD 'admins@123456$DB';
(3)弄完后,把postgres1用户删掉
4、查询用户的权限
select * from information_schema.table_privileges where grantee='test';