启动报错: FATAL: could not read block 0 in file "base/16384/671017": read only 0 of 8192 bytes
数据库无法启动修复方法: (1)重建系统索引 reindexdb -h 127.0.0.1 -U postgres -p 5432 --system dbname (2)zero_damaged_pages=on加入到postgre配置文件中。 (3)设置 ignore_system_indexes=true , 以尝试忽略system index的影响 启动pg,pg_ctl -D "/aaa/bb/data" -o "-c ignore_system_indexes=true" start 连接数据库psql $dbname (3)重建全库索引 reindex database "dbname"; (4)vacuum 全表库 vacuum full analyze verbose; vacuum full verbose;
下面两步不知道干啥用的,抄来的。 (5)禁用约束 update pg_class set relchecks=0 where relname='tablename'; (6)重建索引 reindex database "dbname"; (7)最后建议用pg_dump 导出全库后,重建数据库。 (8)如果做了上述步骤还不行,可以考虑用pg_filedump 抽取所有文件内的数据后再重建数据库。
|