PostgreSQL角色与用户,授予权限

我正在学习PostgresqlMySQL间的差异,因为我有一个新项目,我还打算将我现有的软件从MysqL迁移到Postgresql.我实际上已经开始创建一个HTML表,其中包含两者之间的命令(用于用户/数据库/命令提示符等)的比较.在 reading an answer之后,我注意到这个角色似乎被用作一个群体.使用MysqL,我有两个用户,基本上是公共的(DELETE,INSERT,SELECT和UPDATE权限)和具有一些额外权限的管理员用户.

所以基本上在Windows 7命令提示符下(仅限本地开发)…

>角色是特定于Postgresql用户,组或松散使用的术语吗?
>如何为数据库中的所有表仅授予特定用户特定权限?
>如何为数据库中的所有表授予特定用户的所有权限?
>在使用GRANT或REVOKE获取用户权限时,如何将角色与用户进行比较?

角色是可以充当用户和/或组的实体. WITH LOGIN角色可以用作用户,即您可以使用它登录.任何角色都可以作为一个组运行,包括您也可以登录的角色.因此,“用户”和“组”本质上是表示角色的预期用途的术语,它们之间没有真正的区别.即使在sql的Postgresql风格中,两者也或多或少地用作同义词.例如,CREATE USER上的文档说:

CREATE USER is Now an alias for CREATE ROLE.

授予所有… see the manual for GRANT.您可能实际上想要授予SCHEMA公共中所有表的权限,而不是数据库中的所有表.

授予一些权利……同样的事情,但不是GRANT ALL使用GRANT SELECT,INSERT例如.再次,请参阅手册.

角色是用户和/或组.您只能授予角色,因为角色就是所有角色.

相关文章

项目需要,有个数据需要导入,拿到手一开始以为是mysql,结果...
本文小编为大家详细介绍“怎么查看PostgreSQL数据库中所有表...
错误现象问题原因这是在远程连接时pg_hba.conf文件没有配置正...
因本地资源有限,在公共测试环境搭建了PGsql环境,从数据库本...
wamp 环境 这个提示就是说你的版本低于10了。 先打印ph...
psycopg2.OperationalError: SSL SYSCALL error: EOF detect...