暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

记录|PG-PCA学习笔记-用户权限

chkl 2024-04-26
254

1、psql 客户端工具

连接数据库:psql -h localhost -p 5432 database_name
获得帮助命令:?
获得语法帮助:\h STATEMENT
通过psql执行sql文件:psql < sql.sql

#常用元命令:
\l 查看有哪些数据库
\c 用户切换数据库
\d 显示每个匹配关系(表、索引、视图、序列)的信息
\d(+) tablename 显示表结构
\timing on 显示SQL执行的时间
\dn 列出所有的schema
\db 显示所有的表空间
\du\dg 列出所有角色或用户
\dp 显示权限分配情况
\x 行列互换显示
\set AUTOCOMMIT off 将自动提交功能关闭
\conninfo 查看连接信息

psql -c ‘\l’
psql -c ‘select * from tablename’

2、创建删除登录数据库

createdb testdb 或者CREATE DATABASE testdb; 
dropdb testdb 或者DROP DATABASE testdb; 
psql testdb
CRATE SCHEMA sch1 ;

3、创建(修改、删除)用户

create user username ;
\c testdb username 
alter user username with password '123456';
\c testdb username
\c testdb postgres
alter user username connection limit 1000;
alter user username valid until '2024-04-24';
alter user username valid until 'infinity' ;
\du
drop user test ;

4、创建(修改、删除)角色

用户与角色唯一区别就是用户默认有登录权限,角色默认没有登录权限。

create role rolename ;
drop role if exists rolename ;
grant selet on table table_name to rolename ;
grant rolename to username ;

5、用户与角色转换

grant rolename to username ;
grant user username in role rolename ;

创建等价用户和角色

CREATE USER username CONNECTION LIMIT 2 PASSWORD 'passwd' VALID UNTIL '2024-05-01' ;
CREATE ROLE rolename CONNECTION LIMIT 2 PASSWORD 'passwd' VALID UNTIL '2024-05-01'  LOGIN;

临时赋权(授予用户角色权限)

set role rolename ;

6、PG数据库对象的权限操作

\l 查看用户在数据库中拥有的权限
\dn+ 查看用户在模式中拥有的权限
\dp 查看用户对模式对象(以表为例)拥有的权限
\z 表的权限(\z + tablename)

模式(SCHEMA)对象:可视为一个表的集合,可理解为一个存储目录,包括视图、索引、数据类型、函数和操作符等
非模式对象:其他的数据库对象,如数据库、表空间、用户、权限。

grant all privileges on databsase db_name to rolename with grant option ;
rovke create all on database db_name from rolename cascade ; 
grant connection on database db_name to username ;
grant USAGE on SCHEMA public to username ; 
grant SELECT on TABLE public.tb1 to username ;

变更表所有者

alter table tb1 ownername to username ;

查看表权限

select * from information_schema.table_privileges 
where table_catalog='testdb' and table_schema='public' and table_name='tb1' ; 

查看模式,搜索路径,添加新模式到搜索路径

show search_path;
set search_path to public,schema1
最后修改时间:2024-05-15 11:54:05
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论