Postgres 9.1.6错误索引在块0包含意外的零页


8

我在运行于debian服务器上的Postgres 9.1.6上设置了流复制,并且一切正常。

当我尝试在副本数据库上运行查询时,出现以下错误:

ERROR:  index "tbl_cust_id_idx" contains unexpected zero page at block 0
HINT:  Please REINDEX it.

是什么导致此错误?

该问题也发布在/programming/17865135/postgres-9-1-6-error-index-contains-unexpected-zero-page-at-block-0


您可以运行任何其他查询:SELECT version()SELECT now()吗?

1
连接到数据库时会出现此错误吗?可以连接吗?如果是,您可以成功发出查询吗?否则,这看起来不太好。副本上与fsync相关的设置是什么?我们对那里的存储系统了解多少?
dezso

Answers:


7

我在Postgres 8.3.11上遇到了同样的问题。尽管我无法确定根本原因,但解决方法非常简单:

REINDEX INDEX tbl_cust_id_idx;

此页面包含有关导致错误的原因的提示,尽管它们含糊不清:

指示的表索引已损坏(可能是由于最近的postgres或系统故障,设备上缺少可用空间等导致的)。

理想情况下,如果可以采取一些措施来主动预防或纠正这些错误,将很有帮助。从好的方面来说,这是我们几年来首次在数百台机器上看到此问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.