首页 > 解决方案 > 无法在 postgres 中创建模式

问题描述

我正在尝试使用查询创建架构:

CREATE SCHEMA IF NOT EXISTS hdb_catalog

但发生以下错误:

2019-09-10 13:47:37.025 UTC [129] ERROR:  duplicate key value violates unique constraint "pg_namespace_nspname_index"
2019-09-10 13:47:37.025 UTC [129] DETAIL:  Key (nspname)=(hdb_catalog) already exists.
2019-09-10 13:47:37.025 UTC [129] STATEMENT:  
       CREATE SCHEMA IF NOT EXISTS hdb_catalog

怎么可能IF NOT EXISTS

标签: postgresqlpostgres-10

解决方案


看起来你有目录损坏。

运气好的话,只有索引受到影响。您可以尝试使用修复它

REINDEX pg_catalog.pg_namespace;

与所有损坏情况一样,创建一个新集群initdb并使用pg_dump/pg_restore将数据库复制到那里是值得称道的。可能还有更多问题。

此外,尝试找出导致腐败的原因。通常是坏硬件。


推荐阅读