0

在 PostgreSQL 中列出数据库时可能导致以下错误的原因。

我有 2 个集群在不同端口和不同数据目录下的同一台机器上运行。当我连接到其中一个时该命令工作正常,但当我连接到另一个时失败。

一个集群使用 PostgreSQL 数据库社区版本,而另一个使用 EnterpriseDB Advanced Server 12.1.2 postgres 平台,但位于同一台机器上,但目录不同。

我的 psql 客户端版本是psql (EnterpriseDB) 12.1.2,数据库版本是PostgreSQL 12.1, compiled by Visual C++ build 1914, 64-bit

遇到的错误是:

postgres=# \l
ERROR:  column d.daticu does not exist
LINE 6:        d.daticu as "ICU",
               ^
HINT:  Perhaps you meant to reference the column "d.datacl".

在此处输入图像描述

4

1 回答 1

2

您的服务器是开源 PostgreSQL,而psqlEnterpriseDB 的 fork。

EnterpriseDB 必须修改它们pg_database以包含一个附加列,并且运行查询以\l引用该列。现在开源 PostgreSQL 没有那个列,所以查询失败。

使用psql与服务器相同的发行版以获得最佳效果。

于 2020-02-04T16:37:14.093 回答