PostgreSQL 中是否有任何 DBCC(数据库一致性检查器)命令?我可以找到 SQL 服务器 DBCC 命令,但不能找到 Postgres?我读到 postgresql 具有内置的性能调整功能,并且没有可用于 postgres 的 DBCC 命令。这是真的吗?
在从云故障中恢复时,我发现PostgreSQL数据库中的某些表行为异常。这些表使用主键编制索引,但pg_dump产生重复字段,pg_restore在备份服务器上失败。
我试图REINDEX:
REINDEX INDEX rank_details_pkey;
ERROR: could not create unique index "rank_details_pkey"
DETAIL: Table contains duplicated values.
Run Code Online (Sandbox Code Playgroud)
指数定义为:
<table info here>
Indexes:
"rank_details_pkey" PRIMARY KEY, btree (user_id)
Run Code Online (Sandbox Code Playgroud)
而且,奇怪的是,
SELECT user_id, COUNT(*) FROM <table name> GROUP BY 1 HAVING COUNT(*) > 1;
user_id | count
---------+-------
(0 rows)
Run Code Online (Sandbox Code Playgroud)
总而言之 - 我的表中有重复的值,无法找到或清除。
任何想法如何解决这一问题?这是一个生产服务器,所以所有修复都应该在不影响服务的情况下完成。