千家信息网

postgreSQL 恢复至故障点 精准恢复

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,朋友说到一个生产线上表数据被大批量误操作了,能否恢复。千万别跑路,只要数据数据库,无论是MySQL,PG,Oracle等,只要日志和备份在,都可以恢复到任意故障点。只是操作方法不同而已。可以通过在其它
千家信息网最后更新 2026年11月02日postgreSQL 恢复至故障点 精准恢复

朋友说到一个生产线上表数据被大批量误操作了,能否恢复。


千万别跑路,只要数据数据库,无论是MySQL,PG,Oracle等,只要日志和备份在,都可以恢复到任意故障点。

只是操作方法不同而已。



可以通过在其它机器基于故障点恢复备份数据


在其它环境中搭建一套PG环境:




编译安装的参数特别重要,否则不能启动,建议分离 data和安装软件目录,这是只需tar软件包即可。


1)查看线上环境基础配置:


show all;可以看到生产环境的blocksize和wal-segsize


2)采用线上环境版本PG软件编译安装


yum install -y perl-ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel openldap-devel python-devel gcc-c++ openssl-devel cmake




./configure --prefix=/opt/postgres --with-pgport=5432 --with-python --with-libxml --with-wal-segsize=16 --with-blocksize=8


make && make install




插件安装:


cd contrib


make && make install



3)基于时间点恢复数据库:


停数据库


# pg_stop






利用备份恢复


# rm -rf data


tar xvf pgdata.tar




利用 pg_waldump 找到问题的点,然后修改 recovery.conf 恢复到指定的时间点。



拷贝recovery.conf文件并修改以指定时间点恢复


# cp $PG_HOME/share/recovery.conf.sample /home/postgres/data


# vi /opt/postgres/data/recovery.conf


--新增内容,指定恢复文件和路径,%f,%p见上面说明


restore_command = 'cp /opt/postgres/archive/%f %p'


recovery_target_time = '2018-12-29 10:24:00+09'



恢复数据后,dump表的数据到生产线即可。






99)这个工作建议手工打造


尤其是确定故障点,然后手工进行恢复,多方面确认,最后才能放心将数据放到生产线。


数据 环境 生产 故障 备份 数据库 时间 生产线 软件 建议 手工 文件 编译 不同 重要 上表 内容 参数 只是 只需 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 花魁咖啡 上海喔噻互联网科技有限公司 湖南永感互联网科技有限公司 科技和互联网公司 中资互联网科技 科技与互联网发展 小马过河互联网科技 火传媒上海互联网科技 金融科技和互联网金融 互联网科技研发水平 阿里互联网科技企业 南博望互联网科技有限公司 科技赋能视角下互联网保险发展 广州富喜互联网络科技 互联网科技股为什么大涨 宇信科技在杭州互联网排第几 半导体是互联网高科技吗 上海乐五互联网科技有限公司 广州三三互联网科技有限公司 科技发展第三阶段互联网时代 互联网加科技 上海睿民互联网科技有限公司 广东猪兼强互联网科技有限公司 互联网科技的发展 佰商互联网科技有限公司 互联网和黑科技的看法 世界互联网领先科技成果获奖 济南小医互联网科技有限公司招聘 艺电能源互联网科技有限公司招聘 北京军民互联网科技公司
0