关于postgresql:为什么`pg_config –version`提供的版本不同于`select version();`呢?

Why does `pg_config --version` give a different version than `select version();` does?

我试图确定我安装了什么版本的Postgres服务器,并注意到了这个问题。

这里的第一个答案是运行EDOCX1(postgres中的0),第二个答案是运行EDOCX1(终端中的1)。在运行这些命令时,我得到了不同的版本。

在Postgres:

1
2
3
4
5
=> SELECT version();
                                      version
------------------------------------------------------------------------------------
 PostgreSQL 9.4.12 ON x86_64-unknown-linux-gnu, compiled BY gcc (GCC) 5.4.0, 64-bit
(1 ROW)

在终端中:

1
2
$ pg_config --version
PostgreSQL 9.6.2

为什么在运行这两个命令时报告不同的版本号?

我的机器正在运行nixos。


正如AbdelP.所建议的,结果发现我安装了一个全局的和用户级的Postgres。

我卸载了用户级版本,现在两者都显示版本9.4.12。