如何授权PostgreSQL用户单库管理权限?
- By : Will
- Category : PostgreSQL
PostgreSQL
1 前言
一个问题,一篇文章,一出故事。
笔者今天需要给PostgreSQL创建一个只读用户,于是整理当前章节。
2 最佳实践
2.1 准备PostgreSQL环境
2.2 创建数据库并授权
2.2.1 使用超级用户登陆
su - postgres psql
2.2.2 创建数据库
CREATE DATABASE "appDB";
2.2.3 创建应用用户
CREATE USER "appUser" WITH PASSWORD 'appUserPWD';
2.3.4 直接授予数据库超级权限(慎用)
GRANT ALL PRIVILEGES ON DATABASE "appDB" TO "appUser";
2.2.5 设置访问控制
vim /etc/pgsql/pg_hba.conf
加入如下配置,
# IPv4 local connections: host all all 127.0.0.1/32 md5 host all all 127.0.0.1/32 ident # IPv6 local connections: host all all ::1/128 md5 host all all ::1/128 ident
配置完成后,你可能需要重启服务使配置生效,
systemctl restart postgresql
2.3 验证操作
2.3.1 用户身份连接数据库
psql -U "appUser" -d "appDB" -h localhost
2.3.2 验证CREATE权限
CREATE TABLE test_table (id INT, name VARCHAR(50));
2.3.3 验证INSERT权限
INSERT INTO test_table VALUES (1, 'test');
2.3.4 验证SELECT 权限
SELECT * FROM test_table;
2.3.5 验证DELETE权限
DELETE FROM test_table WHERE id=1;
没有评论