如何授予PostgreSQL应用数据库所有者权限?

PostgreSQL

1 前言

一个问题,一篇文章,一出故事。
笔者今天需要给PostgreSQL创建一个只读用户,于是整理当前章节。

2 最佳实践

2.1 准备PostgreSQL环境

如何部署Oracle Linux 9.x 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.2.4 创建数据库时已指定 OWNER

ALTER DATABASE "appDB" OWNER 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;
没有评论

发表回复

PostgreSQL
如何授权PostgreSQL用户单库管理权限?

1 前言 一个问题,一篇文章,一出故事。 笔者今天需要给PostgreSQL创建一个只读用户,于是整 …

PostgreSQL
如何允许PostgreSQL TCP/IP登录?

1 前言 一个问题,一篇文章,一出故事。 笔者今天完成最新版本的PostgreSQL服务端的安装配置 …

PostgreSQL
如何迁移PostgreSQL的数据目录?

1 前言 一个问题,一篇文章,一出故事。 笔者今天完成最新版本的PostgreSQL服务端的安装配置 …