yum
安装):sudo systemctl start httpd # 启动Apache服务(pgAdmin依赖)
sudo systemctl enable httpd # 设置开机自启
http://<服务器IP>/pgadmin4
,使用管理员账号(首次安装时创建的pgadmin4@pgadmin.org
)登录。pgAdmin中用户权限的本质是PostgreSQL数据库角色的权限,因此需先在PostgreSQL中创建用户(角色)。
myuser
);mypassword
);Can create databases
(允许创建数据库)、Can create roles
(允许创建角色)等选项。为用户分配对特定数据库的访问权限(如SELECT
、INSERT
、UPDATE
等)。
mydb
)。myuser
);SELECT
、INSERT
、UPDATE
、DELETE
等)。若需更细粒度的权限控制(如仅允许用户访问某张表的特定列),可通过SQL编辑器执行PostgreSQL命令:
myuser
对mydb.public.mytable
表的SELECT
权限:GRANT SELECT ON TABLE mydb.public.mytable TO myuser;
myuser
对mydb.public.mytable
表中id
、name
列的SELECT
权限:GRANT SELECT (id, name) ON TABLE mydb.public.mytable TO myuser;
若需调整pgAdmin安装目录或配置文件的访问权限(如允许普通用户修改pgAdmin设置),可使用以下命令:
/var/lib/pgadmin4
):sudo chown -R apache:apache /var/lib/pgadmin4 # 将所有者设为apache用户和组
sudo chmod -R 755 /var/lib/pgadmin4 # 设置目录权限为755(所有者可读写执行,其他用户可读执行)
/etc/httpd/conf.d/pgadmin4.conf
):sudo chown root:apache /etc/httpd/conf.d/pgadmin4.conf # 设置所有者为root,所属组为apache
sudo chmod 640 /etc/httpd/conf.d/pgadmin4.conf # 设置文件权限为640(所有者可读写,所属组可读,其他用户无权限)
sudo systemctl restart httpd
http://<服务器IP>/pgadmin4
,用刚创建的myuser
账号登录。mydb
),验证是否能执行授权的操作(如SELECT
查询)。GRANT role_name TO user_name;
命令实现。/var/lib/pgadmin4/config_local.py
)和PostgreSQL系统表(如pg_roles
、pg_database
)。