我是靠谱客的博主 清脆皮皮虾,最近开发中收集的这篇文章主要介绍postgreSql创建用户并授权postgreSql创建用户并授权,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

postgreSql创建用户并授权

创建只读用户,控制用户访问权限

  1. 创建数据为CREATE DATABASE data_transfer;

  2. pg 默认所有用户都可以在名称为publicschema中创建表,只读用户不允许创建,所以要收回此权限
    revoke create on schema public from public;

  3. 创建schmea
    create schema data_out

  4. 创建只读用户readonly
    create user readonly with password 'password';

  5. 授权用户使用data_out权限
    grant usage on schema data_out to readonly;

  6. 授权用户查看schema data_out下的所有表(此时库的的所有表,新增表不能看到)
    grant select on all tables in schema data_out to readonly;

  7. 授权readonly用户查看新创建表的select权限
    alter default privileges in schema data_out grant select on tables to readonly;

在指定数据为执行,回收连接public权限,防止已经创建的库未设置权限,表被访问到
revoke connect on database rohs from public;

schema操作

  • 创建schema指定owner
    默认是谁创建的schema,owner就是谁,可以通过如下方式进行指定
hadoop=# create schema schema_data_out authorization readonly;
CREATE SCHEMA
hadoop=# create schema authorization sha;
CREATE SCHEMA
hadoop=# dn
  List of schemas
  Name               |  Owner
---------------------+----------
 sha                 | sha
 public              | postgres
 schema_data_out     | readonly
(3 rows)

指定了owner,不指定schema,则schema名字与owner一致。

删除用户

# 将old_user拥有owner权限的对象转移给other_user,那么old_user将不会再拥有owner权限的对象了
# REASSIGN OWNED BY中可以将对象的拥有者修改为postgres或是其他较高权限的业务账号
REASSIGN OWNED BY old_user TO postgres;
# 在当前库中,删除用户拥有的对象;并收回在当前库赋予的任何权限
# 由于之前已经使用了REASSIGN OWNED BY,old_user用户下已无owned的对象,对于账号不只是存在owner的情况,可能用户只是查询或修改的权限,此时再使用DROP OWNED BY则可以将其他权限收回。
DROP OWNED BY old_user;
# 最后删除账号
DROP USER old_user;

注意:REASSIGN OWNED BYDROP OWNED BY命令只能删除对应库中的权限,如果在其他库中仍有要收回的权限,要切换到其他库执行。

最后

以上就是清脆皮皮虾为你收集整理的postgreSql创建用户并授权postgreSql创建用户并授权的全部内容,希望文章能够帮你解决postgreSql创建用户并授权postgreSql创建用户并授权所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(35)

评论列表共有 0 条评论

立即
投稿
返回
顶部