什么是PostgreSQL“集群”,如何创建一个?
我对数据库很新,我没有做很多。现在我想了解数据库集群这个术语。我google了很多,发现很多有用的链接,但我不能理解他们 – 也许因为我对数据库有很少的基本知识,而且他们是非常科技语言。
我需要关于这些问题的建议: > PostgreSQL中的数据库集群是什么?
PostgreSQL数据库“集群”是一个postmaster和一组补充过程,它们都管理包含一个或多个数据库的共享数据目录。
PostgreSQL中的术语“cluster”是一个历史怪癖,与“compute cluster”的一般含义完全不同,“compute cluster”通常指的是一起工作以实现更高性能和/或可用性的计算机组。它也与PostgreSQL命令CLUSTER无关,这是关于组织表。 如果你正在读这个,你可能实际上正在寻找有关高可用性,复制或池的信息,在这种情况下,你应该阅读Replication,Clustering and High Availability wiki文章和high availability部分的PostgreSQL手册,然后看看工具,如repmgr。 通常在安装PostgreSQL时为您创建集群;安装时通常会为你initdb一个新的集群。对于基本或中间用户来说,不经常需要创建集群或管理多个集群,这是很不寻常的,所以如果您解释为什么要这样做,以及您尝试解决的根本问题,将有所帮助。 user manual可能可以解释这更好,因为它假设你从源代码安装PostgreSQL,相对很少的人实际上这样做。 每个集群的数据目录都使用initdb创建,并使用通过系统服务(Windows服务,launchd,init,upstart,systemd等,取决于操作系统和版本)或直接通过pg_ctl启动的postmaster进行管理。 集群具有内置数据库template0,template1和postgres;其他数据库由用户创建。 集群的postmaster通过侦听tcp端口接受传入连接,并将它们交给worker后端。只有一个邮局主管可以在给定端口上运行,因此每个群集必须有不同的端口。 我在this previous answer写了更多关于PostgreSQL的结构。参见子标题“关系?模式?嗯? 如何在Pg中“创建”集群完全取决于你如何运行它。因为你问,我怀疑你在一个使用 * PostgreSQL术语中的“集群”和术语“集群”的常见用法之间的混淆是一个混乱和令人遗憾的历史奇怪,特别是在讨论PostgreSQL实例的聚类时。你可以有一个PostgreSQL集群集群,这是痛苦的。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |