为什么pg_lsclusters没有列出我的Postgres集群?


9
  1. apt-get安装了Postgres 9.2.4(使用PPA)。
  2. 我曾经pg_dropcluster --stop 9.2 main删除默认的数据库集群,因为我打算在刚刚挂载的单独的SSD卷(Rackspace块存储卷)上创建一个新集群。
  3. 我创建了一个新集群,其数据驻留在我的SSD卷上(并ps显示了该集群的所有正常Postgres进程,并且我能够打开Postgres Shell并运行SQL-即运行良好)。现在,当我运行时pg_lsclusters,没有列出任何内容。

main在删除群集之前,列出的群集还不错。为什么即使新群集正在运行,我的群集也不会出现?我什至重启了服务器(以防万一)。


那么,您是如何创建新集群的?另外,主机操作系统和版本?Ubuntu ...?Debian ...?其他?(pg_wrapper虽然发行版很少使用)
Craig Ringer 2013年

@CraigRinger-我曾经用过initdb -D /the/dir/-我想我刚刚意识到我应该使用过,我pg_createcluster -d /the/dir/应该不用吗?两者都是一样的,减去Postgres存储的有关群集的额外元数据吗?(我在Ubuntu 12.04.2上)
orokusaki 2013年

哇,真的是这样的话-什么一个真棒工具,这样一个简单的语法pg_ctlcluster 9.2 mycluster start
orokusaki

是的,您知道了-如果要使用pg_wrapper,则必须始终如此。
Craig Ringer 2013年

@CraigRinger-谢谢。如果您回答了这个问题(我回答了这个问题,但这并不可怕),我会接受您的回答并删除我的。
orokusaki 2013年

Answers:


8

为了在集群中使用这些postgres通用工具,需要一致地使用它们。您将使用pg_createcluster -d /path/to/data而不是initdbpg_createcluster将群集添加到其中postgres-common以方便进行这些方便的操作。它像是pg_ctlcluster围绕较低层工具(例如initdbpg_ctl)的包装,提供从一个位置访问所有集群上的操作的权限。它还具有一些默认值,例如根据群集名称自动配置的日志位置。这意味着-l /var/log/my-custom.log在创建或启动服务器时无需使用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.