1、对数据库授权
postgresql 授权某个数据库的权限给wang 账号 使该账号 只能操作指定DB 不能操作其他DB

alter user wang set default_transaction_read_only=on;
grant all on database test to wang;
grant select on all database test to wang;
grant select on all tables in schema public to wang;     // 起作用的是这句 要进入数据库test 操作,在那个db环境执行就授哪个db的权

配置权限

ve=# grant all on schema public to foo ;
ve=# grant select,insert,update,delete on test to foo ;
ve=# grant select,insert,update,delete on public.test to foo ;

对表授权

撤销授权
撤销对数据库授权

revoke all on database company from wang;                     #撤销用户wang对数据库company 的所有权限
revoke select on all tables in schema public from wang;

撤销对表授权
对当前库中所有表去掉public的所有访问权限,为了确保除了所有者之外的洽谈用户不能操作这些表。

lyy=# revoke all on test1 from public;
REVOKE
lyy=# revoke all on test2 from public;
REVOKE

去掉对pg_class的访问权限,为了确保yy用户不能看到所有表名的列表。

lyy=# revoke all on pg_class from public;
REVOKE
lyy=# revoke all on pg_class from yy;
REVOKE

添加yy用户对test1表的所属关系,确保yy用户对test1表有权限操作

lyy=# ALTER TABLE test1 OWNER TO yy;
lyy=# \q

用户管理

/* 赋给用户表的所有权限 */
GRANT ALL ON tablename TO user;
/* 赋给用户数据库的所有权限 */
GRANT ALL PRIVILEGES ON DATABASE dbname TO dbuser;/* 撤销用户权限 */
REVOKE privileges ON tablename FROM user;

数据库操作

/* 创建数据库 */
create database dbname; /* 删除数据库 */
drop database dbname;

表操作

/* 增加让主键自增的权限 */
grant all on sequence tablename_keyname_seq to webuser;/* 重命名一个表 */
alter table [表名A] rename to [表名B]; /* 删除一个表 */
drop table [表名]; /* 在已有的表里添加字段 */
alter table [表名] add column [字段名] [类型]; /* 删除表中的字段 */
alter table [表名] drop column [字段名]; /* 重命名一个字段 */
alter table [表名] rename column [字段名A] to [字段名B]; /* 给一个字段设置缺省值 */
alter table [表名] alter column [字段名] set default [新的默认值];/* 去除缺省值 */
alter table [表名] alter column [字段名] drop default; /* 插入数据 */
insert into 表名 ([字段名m],[字段名n],......) values ([列m的值],[列n的值],......); /* 修改数据 */
update [表名] set [目标字段名]=[目标值] where ...; /* 删除数据 */
delete from [表名] where ...; /* 删除表 */
delete from [表名];/* 查询 */
SELECT * FROM dbname WHERE ...;/* 创建表 */
create table ([字段名1] [类型1] primary key,

参考
创建用户和数据库

创建用户
postgres=# create user username with password '****';
创建数据库postgres=# create database dbtest owner username; -- 创建数据库指定所属者
将数据库得权限,全部赋给某个用户postgres=# grant all on database dbtest to username; -- 将dbtest所有权限赋值给username
导入整个数据库psql -U username databasename < /data/dum.sql -- 用户名和数据库名

常见报错 :

1、切换yy用户失败

lyy=# \c - yy
FATAL:  Peer authentication failed for user "yy"
Previous connection kept

2、用户yy连接lyyku会报错

psql -E -U yy -d lyy
Password for user yy:
psql: FATAL:  permission denied for database "lyy"
DETAIL:  User does not have CONNECT privilege.

原因 :没有connect权限,那么就授予用户yy对数据库lyy的访问权限

解决办法 :

#grant connect on database lyy to yy;

参考链接 :

postgresql 授权某个数据库的权限给test 账号 使该账号 只能操作指定DB 不能操作其他DB :https://blog.csdn.net/laiyangwen1120/article/details/52678936
https://blog.csdn.net/qq_24879495/article/details/78039712

PostgreSQL中用户对表的访问权限控制 : https://blog.csdn.net/weixin_34008805/article/details/92718969

https://www.cnblogs.com/weihengblog/p/10082570.html

postgresql授权和撤销相关推荐

  1. mysql撤销用户授权_mysql用户授权及撤销

    mysql数据库服务在不做授权的情况下只允许数据库管理员从数据库服务器本机登录. 默认只有数据库管理员从数据库服务器本机登录才有授权权限 mysql -u root -p (本机登录mysql服务器) ...

  2. mysql 给用户取消权限_MySQL创建用户并授权及撤销用户权限

    这篇文章主要介绍了MySQL创建用户并授权及撤销用户权限.设置与更改用户密码.删除用户等等,需要的朋友可以参考下 MySQL中创建用户与授权的实现方法. 运行环境:widnows xp profess ...

  3. mysql 函数权限控制_MySql授权和撤销权限操作

    MySql授权和撤销权限操作 作者:PHPYuan 时间:2018-10-05 03:41:17 MySQL 赋予用户权限命令的简单格式可概括为: grant 权限 on 数据库对象 to 用户 用户 ...

  4. 04: 用户授权及撤销 、 数据备份与恢复 、 MySQL管理工具

    day04 一 .管理root用户密码 1.1 修改密码 1.2 恢复密码 二.用户授权与权限撤销 2.1 授权 2.2 撤销权限 三.安装图形管理工具 四 数据备份与恢复 ----- 完全备份与恢复 ...

  5. mysql角色附权和解除权限_MySql授权和撤销权限操作

    MySQL 赋予用户权限命令的简单格式可概括为: grant 权限 on 数据库对象 to 用户 用户后面可以加@'ip地址' identified by '密码' 例如: grant all on ...

  6. MySQL添加用户、删除用户、授权及撤销权限

    一.创建用户: mysql> insert into mysql.user(Host,User,Password) values("localhost","test ...

  7. MySQL学习笔记 | 05 - 普通用户新增、删除、授权、撤销登录权限

    MySQL学习笔记 | 01-为什么要使用数据库 MySQL学习笔记 | 02 - MySQL在Windows下的安装.配置.服务启动/停止.用户登录.查看版本号 MySQL学习笔记 | 03 - M ...

  8. 第四篇:Mysql数据库的用户授权及撤销

    一,创建授权 1,mysql授权库和信息 2,grant配置授权

  9. postgresql 授权某个数据库的权限给test 账号 使该账号 只能操作指定DB 不能操作其他DB

    alter user test set default_transaction_read_only=on; grant all on database crm_db to test; grant se ...

最新文章

  1. IndentationError: unexpected indent
  2. 华为交换机netstream配置
  3. 下面可提供安全电子邮件服务的是()【最全!最详细解析!!】
  4. ES6 对正则表达式的扩展
  5. linux编译c代码错误,linux - 使用ASAN时如何解决错误“无法运行C编译程序” - 堆栈内存溢出...
  6. 凯恩斯归来,大堡礁畅游记
  7. 计算机管理十大突出问题,TPM设备管理十大问题
  8. 腾讯云运维干货沙龙-海量运维实践大曝光 (一)
  9. jQuery菜鸟教程01
  10. Python程序写诗【训练1分钟】古诗生成
  11. java如何找出勾股数组_勾股数组 学习笔记
  12. 用Allegro导出DXF/DWG格式文件
  13. ceph详细的理论知识
  14. C语言#判断今天是工作日还是休息日
  15. 汇报工作,被总监怼了!让我学习:麦肯锡的结构化思考、SCQA表达框架
  16. matlab三维图与二维图画在一起,matlab 画二维图与三维图
  17. linux系统找不到网卡配置文件,Linux系统Centos没有网卡eth0配置文件的解决方法
  18. python函数:pd.Series()
  19. java web树状导航菜单_导航条——树状导航菜单
  20. 【Excel】单元格内数字运算

热门文章

  1. python直接使用pyc_关于python包,模块,.pyc文件和文件导入理解
  2. acrobat xi pro 简体中文语言支持包_恐龙模拟新作《Paleo Pines》Steam明年发售 支持简中...
  3. mysql前179天_做up主179天的经历
  4. 简单类名转为class_13 网页各区域div的常见类名
  5. 林期苏曼属性标签编辑_标签打印软件如何打印指定日期
  6. 流程DEMO-费用报销
  7. 【天池竞赛系列】阿里移动推荐算法思路解析
  8. CentOS6.5部署KVM及实现在线迁移
  9. angular启动过程分析
  10. 淘宝SOA框架dubbo学习(2)--搭建Zookeeper注册中心服务