Database 在多个postgresql集群中创建角色
我对PostgreSQL数据库很陌生。我们一周前就开始使用它作为项目需求的一部分。我们花了一些时间来理解数据库的体系结构 读过许多文章和文件。我们理解了以下几点:Database 在多个postgresql集群中创建角色,database,postgresql,Database,Postgresql,我对PostgreSQL数据库很陌生。我们一周前就开始使用它作为项目需求的一部分。我们花了一些时间来理解数据库的体系结构 读过许多文章和文件。我们理解了以下几点: PostgreSQL中的数据库集群是数据库的集合 在数据库的默认安装中,有一个名为main的默认集群,它在默认情况下被激活 我们可以通过以下命令在数据库中创建和启动新群集: pg_createcluster 9.2 cluster1-d/usr/local/cluster1——启动 与MySQL中的用户不同,postgresql中的角
postmaster
)。(集群可以使用表空间分布在不同的文件系统上,但这不是重点。)
在一个系统上确实可以有多个集群,但是PostgreSQL实例一次只能访问一个集群,这是在启动postmaster
时在命令行指定的。其他集群可由其他PostgreSQL实例使用
每个集群可以包含多个数据库。集群还可以具有多个角色
s(用户、组),这些角色在集群上的所有数据库之间共享;角色永远不会在集群之间共享。现在在PostgreSQL中,您可以使用命令CREATE ROLE
创建用户和组。它们具有相同的权限结构,基本区别在于用户可以登录到数据库系统,而组不能
除非您的需求非常具体(即,您必须在特定的服务器版本上运行一个数据库,在另一个服务器版本上运行另一个数据库),否则您只需使用一个集群就可以了。Cross post:Point 2目前仅在Debian/Ubuntu上适用,这是由于操作系统用来管理多个PostgreSQL实例和版本的
pg_包装器
工具,而不是PostgreSQL本身。谢谢@Patrick的回答。我应该自动执行一个密码轮换方案,其中有多台机器,每台机器都有一个集群及其角色集。我需要编写一个bash脚本,它可以远程连接到每个集群并更改角色的密码。为了模拟这个需求,我计划在同一台机器上创建5个集群,并在进行远程测试之前测试其功能