据我了解,要获取集群列表,pg_lscluster
我需要使用pg_createcluster
.
但是,我使用initdb
和pg_ctl
来创建集群。我知道它们正在运行,因为我可以使用 访问每个集群(我有三个集群)psql -p [port]
。
如何获取使用这些工具构建的集群的列表?
据我了解,要获取集群列表,pg_lscluster
我需要使用pg_createcluster
.
但是,我使用initdb
和pg_ctl
来创建集群。我知道它们正在运行,因为我可以使用 访问每个集群(我有三个集群)psql -p [port]
。
如何获取使用这些工具构建的集群的列表?
如果您使用 创建集群
initdb
并使用 管理它们pg_ctl
,它们将不会出现在 的输出中pg_lsclusters
,因为pg_lsclusters
专门查找由该pg_createcluster
工具管理的集群。您仍然可以通过查看 PostgreSQL 数据目录和配置来
initdb
找到有关您使用创建的集群的信息。pg_ctl
在 PostgreSQL 数据目录的路径中,有一些以 PostgreSQL 版本和集群名称命名的子目录。
每个数据目录中都有一个
postgresql.conf
文件。将显示有关集群的所有信息
initdb
或者pg_ctl
不维护任何系统列表。管理员可以自行决定将集群目录创建(或随后移动)到完全任意的位置。配置文件也可以位于任何地方。这些实用程序只是按照要求执行任务。像往常一样搜索未知服务器:
show data_directory;
pg_createcluster
(和pg_lscluster
,pg_ctlcluster
) 是 Ubuntu/Debian 特定的包装器initdb
,pg_ctl
其目的正是为了提供更简单的界面来管理同一主机上的多个 postgresql 实例。例如,集群列表。