本篇文章给大家分享的是有关怎么在Postgres中创建一个Role并赋予权限,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
创新互联建站是一家集网站建设,新吴企业网站建设,新吴品牌网站建设,网站定制,新吴网站建设报价,网络营销,网络优化,新吴网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。CREATE USERPASSWORD ' ';
赋予database所有权限
GRANT ALL ON DATABASETO ;
赋予只读权限 (不能再db level直接赋予SELECT权限)
GRANT SELECT ON ALL TABLES IN SCHEMATO ;
SELECT * FROM information_schema.role_table_grants;
补充:PostgreSql角色、用户创建
数据库角色与操作系统用户的观念完全不同,其可以方便的维护数据库,但不是必须的。
创建数据库角色
CREATE ROLE name;
删除存在的角色
DROP ROLE name;
创建和删除用户
CREATE USER name; dropuser name;
检查存在的数据库角色
SELECT rolname FROM pg_roles;
\du #用这个命令也可以查看
数据库默认用户
数据库在安装完成后会在操作系统以及数据库中都建立一个默认的用户postgres,这个角色是“超级用户”,想使用数据库的更多功能,必须先用这个用户连接数据库。
数据库连接命令
psql -U name;
数据库角色有大量的属性,这些属性定义了角色的数据库登录以及操作权限。
CREATE ROLE name [ [ WITH ] option [ ... ] ] where option can be: SUPERUSER | NOSUPERUSER | CREATEDB | NOCREATEDB | CREATEROLE | NOCREATEROLE | CREATEUSER | NOCREATEUSER | INHERIT | NOINHERIT | LOGIN | NOLOGIN | REPLICATION | NOREPLICATION | CONNECTION LIMIT connlimit | [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password' | VALID UNTIL 'timestamp' | IN ROLE role_name [, ...] | IN GROUP role_name [, ...] | ROLE role_name [, ...] | ADMIN role_name [, ...] | USER role_name [, ...] | SYSID uid
登录权限
LOGIN属性用于赋予角色拥有连接数据库权限,命令二选一
CREATE ROLE name LOGIN; CREATE USER name;
CREATE USER 和CREATE ROLE几乎相同,除了CREATE USER默认带有登录权限,CREATE ROLE没有。
超级用户
超级用户拥有数据库的所有权限,必须小心超级用户的权限赋予,命令如下
CREATE ROLE name SUPERUSER;
创建数据库权限
CREATE ROLE name CREATEDB;
创建角色权限
CREATE ROLE name CREATEROLE;
初始化复制
CREATE ROLE name REPLICATION LOGIN;
密码
密码是用户登录数据库的客户端认证方式。密码创建后采用md5加密算法加密。
CREATE ROLE name PASSWORD 'string';
更改权限
ALTER ROLE name SET enable_indexscan TO off;
角色组类似于操作系统的组权限,可以非常方便的对组内成员的权限进行管理。
可以用过GRANT和REVOKE操作进行权限的赋予和回收。
GRANT group_role TO role1, ... ; REVOKE group_role FROM role1, ... ;
以上就是怎么在Postgres中创建一个Role并赋予权限,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。