Postgresql 此postgres CLI命令中引用的版本号是什么?

Postgresql 此postgres CLI命令中引用的版本号是什么?,postgresql,Postgresql,此CLI命令中的版本号应该表示什么:pg_ctl-D/usr/local/var/postgres[此处的版本号]start?通过在数据目录的名称中包含postgres版本的版本号,可以使用相同的二进制文件同时运行多个集群(=实例) 但是,在数据目录的名称中包含版本号并不是强制性的,它是否在安装期间完成取决于您使用的Linux发行版。每个发行版的做法略有不同 但通常情况下,您不会通过pg_ctl启动Postgres,而是通过系统“服务管理器”,例如systemctl或service,具体取决于L

此CLI命令中的版本号应该表示什么:
pg_ctl-D/usr/local/var/postgres[此处的版本号]start

通过在数据目录的名称中包含postgres版本的版本号,可以使用相同的二进制文件同时运行多个集群(=实例)

但是,在数据目录的名称中包含版本号并不是强制性的,它是否在安装期间完成取决于您使用的Linux发行版。每个发行版的做法略有不同


但通常情况下,您不会通过
pg_ctl
启动Postgres,而是通过系统“服务管理器”,例如
systemctl
service
,具体取决于Linux发行版。您可以检查数据目录的确切位置所在的服务定义

此处的版本号
通常指主要版本号(而不是补丁/次要版本)

因此,如果安装了10.3版,则应参考
10

请注意,在9.6和更早版本中,主版本有两个数字,后跟补丁版本(例如:9.5.4——主版本是9.5,次版本是4)

然而,比版本更重要的是
/usr/local/var
中存在的文件夹——您可以拥有一个没有版本的数据目录(即,您可以执行
initdb/tmp/foo
,所有数据将进入
foo
,并且
pg_ctl-D/tmp/foo start
应该启动数据库)。一个很好的经验法则(尽管在某些情况下失败)是查找包含
postgresql.conf
的目录,该目录是作为参数传递给
pg_ctl-D start


披露:我是一名员工

你使用的Postgres版本号是多少?@johnsharpe试过了,没有工作可以粘贴
ls/usr/local/var/
output吗?ls=PG_VERSION PG_multixact PG_tblspc base PG_通知PG_两阶段全局PG_replstlot PG_wal PG_commit PG_ts PG_序列PG_xact PG_dynshmem PG_快照postgresql.auto.conf PG_hba.conf PG_stat postgresql.conf PG_ident.conf PG_身份确认PG_stat_tmp postmp postmp.optspg_logical pg_subtrans postmaster.pidhmm,如果这是您的
/usr/local/var
输出,那么
pg_ctl-D/usr/local/var start
应该可以工作