如何确定目录是否是有效的 PostgreSQL 集群

Jam*_*s N 11 postgresql

我有一些代码在给定路径上调用 pg_ctl 命令并检查输出以确定它是否是有效的 PostgreSQL 集群: pg_ctl status -D <data_directory>

但是,在对已知的非集群目录进行单元测试时,它并不能可靠地返回pg_ctl: directory <data_directory> is not a database cluster directory我的构建服务器上的预期结果;相反,它返回pg_ctl: no server running.

有没有更简单的方法来确定目录是否是有效的集群?

小智 18

使用以下命令初始化 DB 目录。

$ initdb -D <data_directory>
Run Code Online (Sandbox Code Playgroud)

然后你可以得到关于初始化的信息。

顺便说一句,如果你想快速启动你的 psql,在配置文件中设置 PGDATA 变量,然后用它pg_ctl start来启动你的 psql。