网站设计要素 优帮云,3g免费网站制作,百度云资源搜索入口,php网站源代码修改PostgreSQL 错误#xff1a;关系 base/46501/52712 中的块 480 存在无效的页。 当我们在使用 PostgreSQL 数据库的时候#xff0c;如果服务器发生 CRASH 或者断电等异常情况的时候#xff0c;有可能会遇到上面的这个报错信息。那么我们如何去修复这个数据呢#xff0c;以及… PostgreSQL 错误关系 base/46501/52712 中的块 480 存在无效的页。 当我们在使用 PostgreSQL 数据库的时候如果服务器发生 CRASH 或者断电等异常情况的时候有可能会遇到上面的这个报错信息。那么我们如何去修复这个数据呢以及这个错误是如何产生的呢
原因
磁盘存在损坏或者配置文件参数配置不合理无 fsync 等都可能会引起这个错误信息。那么我们首先需要找到是哪个对象发生损坏了然后对这个对象进行修复。下面是具体的操作案例。首先我们需要找到是哪个数据库下的对象发生损坏了。通过系统表找出该 oid 对应的数据库名。然后通过 oid 找出对应的表的名称然后我们可以通过不断的调试可以具体定位到所在的行。SELECT * FROM pg_database WHERE oid 46501;
SELECT * FROM pg_class WHERE oid 52712;
SELECT * FROM table_name limit m,n;当我们找到是哪个对象的时候接下来就是对表的一个修复了通过将表数据刷新到磁盘的过程实现表的一个刷盘下面是具体的操作步骤。修复表
SET zero_damaged_pages on;
VACUUM FULL table_name;
REINDEX TABLE table_name;最后我们需要进行做磁盘坏道检查以及对表进行重新导出导入这些操作。 说明有没有发现其实很多数据库的一些错误其实都和数据库的参数是有关系的数据库的配置文件没有很好的设置会带来很多未知的错误。