PostgreSQL - getting an error when listing databases with message "ERROR: column d.daticu does not exist"
PostgreSQL - getting an error when listing databases with message "ERROR: column d.daticu does not exist"
在 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".
您的服务器是开源 PostgreSQL,而 psql
是 EnterpriseDB 的分支。
EnterpriseDB 必须修改他们的 pg_database
以包含一个额外的列,并且查询 运行 for \l
引用了该列。现在开源 PostgreSQL 没有该列,所以查询失败。
使用来自与服务器相同的发行版的 psql
以获得最佳效果。
在 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".
您的服务器是开源 PostgreSQL,而 psql
是 EnterpriseDB 的分支。
EnterpriseDB 必须修改他们的 pg_database
以包含一个额外的列,并且查询 运行 for \l
引用了该列。现在开源 PostgreSQL 没有该列,所以查询失败。
使用来自与服务器相同的发行版的 psql
以获得最佳效果。