PostgreSQL 用户权限与安全管理

1 系统默认角色

postgres=# select rolname from pg_roles;

rolname


postgres

pg_database_owner

pg_read_all_data

pg_write_all_data

pg_monitor

pg_read_all_settings

pg_read_all_stats

pg_stat_scan_tables

pg_read_server_files

pg_write_server_files

pg_execute_server_program

pg_signal_backend

pg_checkpoint

pg_maintain

pg_use_reserved_connections

pg_create_subscription

(16 rows)

2 用户(角色)管理

#创建用户

postgres=# create user zyb with password 'zyb123';

#查看用户

postgres=# \du

List of roles

Role name | Attributes

-----------+------------------------------------------------------------

postgres | Superuser, Create role, Create DB, Replication, Bypass RLS

zyb |

#删除用户

postgres=# drop user zyb;

#授权

添加table授权(SELECT,INSERT,UPDATE,DELETE)

grant SELECT,INSERT,UPDATE,DELETE on test to zyb;

删除table授权

revoke SELECT,INSERT,UPDATE,DELETE on test from zyb;

添加database授权(CREATE,CONNECT,EMPORARY,TEMP )

GRANT CREATE,CONNECT,EMPORARY,TEMP ON DATABASE mydb TO zyb;

删除

revoke CREATE,CONNECT,EMPORARY,TEMP ON DATABASE mydb from zyb

更多帮助信息查看命令: mydb=# \h grant

3 pg_hba.conf

TYPE DATABASE USER ADDRESS METHOD

"local" is for Unix domain socket connections only

local all all trust

#本地登录不需要密码,如psql -U postgres

IPv4 local connections:

host all all 127.0.0.1/32 trust

#本地登录不需要密码,如psql -h 127.0.0.1 -U postgres

IPv6 local connections:

host all all ::1/128 trust

Allow replication connections from localhost, by a user with the

replication privilege.

local replication all trust

host replication all 127.0.0.1/32 trust

host replication all ::1/128 trust

#TYPE

local 本地

host 远程

#ADDRESS

192.168.254.110 单个ip

192.168.254.0/24 ip段

0.0.0.0/0 所有ip都可以登录

#METHOD 常用加密方法

md5,scram-sha-256

相关推荐
2501_948195344 小时前
RN for OpenHarmony英雄联盟助手App实战:主导航实现
数据库
Filotimo_4 小时前
N+1查询问题
数据库·oracle
a程序小傲4 小时前
京东Java面试被问:动态规划的状态压缩和优化技巧
java·开发语言·mysql·算法·adb·postgresql·深度优先
fenglllle5 小时前
spring-data-jpa saveall慢的原因
数据库·spring·hibernate
DarkAthena6 小时前
【GaussDB】执行索引跳扫时如果遇到该索引正在执行autovacuum,可能会导致数据查询不到
数据库·gaussdb
短剑重铸之日6 小时前
《7天学会Redis》Day 5 - Redis Cluster集群架构
数据库·redis·后端·缓存·架构·cluster
007php0076 小时前
mySQL里有2000w数据,Redis中只存20w的数据,如何保证Redis中的数据都是热点数据
数据库·redis·git·mysql·面试·职场和发展·php
lkbhua莱克瓦246 小时前
进阶-存储过程3-存储函数
java·数据库·sql·mysql·数据库优化·视图
老邓计算机毕设7 小时前
SSM心理健康系统84459(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架·心理健康系统·在线咨询