我正在开发一个使用 PostgreSQL 作为后端数据库和 perl 处理脚本的基于 Web 的应用程序
我将登录信息保存在一个单独的文件中,类似于此处的建议在哪里存储全局数据库连接参数,因此根据脚本需要实现的内容,它可能指向不同的登录凭据目前它是默认的 PostgreSQL 帐户,这显然需要更改。
我需要了解如何在 PostgreSQL 中设置用户帐户
我想我需要两个允许用户查询数据库,例如 web_user,另一个需要提交更改,例如 web_admin。
web_admin 账户需要登录网页
在 pgAdmin 或命令行中,我如何创建登录 Rolls 并提供所需的权限?
编辑请澄清
我曾尝试创建两个帐户,但不清楚这是否是正确的方法
CREATE USER web_user PASSWORD 'password1';
GRANT SELECT to web_user on Table1; // Read Only
CREATE USER web_admin PASSWORD 'password2';
GRANT SELECT,INSERT,UPDATE,DELETE to web_admin on Table1; // Read Insert and update / delete rows within a existing table but not able to create, alter or delete a Table or column
编辑 2 哎呀
所以我在 pgAdmin 窗口中执行了以下操作
CREATE USER web_user PASSWORD 'password1';
GRANT SELECT to web_user in schema PUBLIC; // Read Only
CREATE USER web_admin PASSWORD 'password2';
GRANT SELECT,INSERT,UPDATE,DELETE to web_admin in schema PUBLIC
web_user 帐户只允许对数据库进行读取访问 web_admin 帐户具有相同读取访问权限的问题
我试过 drop web_user & revoke by
revoke all privileges on database mydb from web_admin;
但它失败并出现有关列出 mydb 中所有表的依赖项的错误
我试图查看 web_admin 实际拥有但无法查看的权限。
如何删除此帐户
grant web_user 的语法有什么问题?