如何在PostgreSQL中为基于Web的应用程序设置用户帐户
我正在开发一个基于Web的应用程序,PostgreSQL作为后端数据库& perl处理脚本
我将登录信息保存在一个单独的文件中,类似于where to store global database connection parameters中的建议,因此根据脚本需要实现的目的,它可以指向不同的登录凭据目前它是默认的PostgreSQL帐户,这显然需要更改. 我需要了解如何在PostgreSQL中设置用户帐户 我想我需要两个允许用户查询数据库,例如web_user,另一个需要提交更改,例如web_admin. web_admin帐户需要登录网页 在pgAdmin或命令行中,如何创建登录卷并提供所需的权限? 编辑请澄清 我已经开始创建两个帐户,但我不清楚这是否是正确的方法 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个ooops 所以我在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,DELETE to web_admin in schema PUBLIC web_user帐户只允许对数据库进行读访问,web_admin帐户具有相同的读访问权限 我已经尝试过drop web_user&撤消 revoke all privileges on database mydb from web_admin; 但它失败了有关列出mydb中所有表的依赖项的错误 我试图看看web_admin实际拥有哪些权限但却无法实现. 如何删除此帐户 grant web_user的语法有什么问题? 解决方法
要创建用户,可以在SQL中使用
CREATE USER命令. (它与CREATE ROLE … WITH LOGIN相同)之后使用
GRANT授予权限.
我不确定你的默认PostgreSQL帐户是什么意思.如果您正在谈论“postgres”帐户,它是超级用户,并拥有一切权利. 特权和保护的主题非常复杂,我至少写了几次: > How to grant privileges on all tables in PostgreSQL < 9.0 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |