在PostgreSQL中查找数据库中损坏的表

时间:2019-09-26 09:11:36

标签: postgresql

如何在postgresql中找到损坏的表? 我必须找到损坏的表名,对此我一无所知。

1 个答案:

答案 0 :(得分:0)

没有绝对万无一失的方法。

您能做的最好的是

pg_dump -f /dev/null dbname

这将读取所有表并在导致错误的第一次损坏时抛出错误。

有缺点:

  • 它将不会检测到不会导致错误的损坏。在PostgreSLQ中启用数据校验和将对此有所改善。

  • 它将不会检测到索引损坏(可以使用REINDEX进行修复。

  • 它只会在失败之前找到第一个损坏。

    您可以排除该表并再次运行以查找其他损坏的表。