【发布时间】:2020-05-20 11:26:23
【问题描述】:
在 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".
【问题讨论】:
-
错误信息的哪一部分你不明白?看起来真的很清楚。
-
您确定要连接 Postgres 12 服务器吗?
select version();带给你什么? -
挑战是我只是列出数据库而不运行选择语句。应该在哪里创建该列“daticu”。这似乎是命令正在运行的查询中的某些内容。
-
我添加了psql和数据库版本2个版本的截图
-
如果您运行
psql -E,您将看到\l使用的查询。但是“香草”Postgres 确实没有列pg_database.daticu- 我猜这是psql的企业数据库版本中的某种错误。您可以联系他们,也可以使用“社区”Postgres 中的psql
标签: sql postgresql psql enterprisedb