首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏数据和云

    PostgreSQL备份恢复实现

    一. pg_basebackup 1. pg_basebackup的原理简介 pg_basebackup ------ 获得PostgreSQL集簇的一个基础备份备份通过一个使用复制协议常规PostgreSQL连接制作。该连接必须由一个具有REPLICATION权限或者具有超级用户权限的用户ID建立,并且pg_hba.conf必须允许该复制连接。 一般生产中用pg_basebackup来备份,可能会需要恢复到某个时间点上。 这样就需要备份文件加WAL日志来进行恢复。 pg_dumpall对一个集簇中所有的PostgreSQL数据库写出到(转储)一个脚本文件。该脚本文件包含可以用作psql的输入SQL命令来恢复数据库。

    6.4K30发布于 2021-09-22
  • 来自专栏Lansonli技术博客

    PostgreSQL基础(十二):PostgreSQL备份恢复介绍

    PostgreSQL备份恢复介绍防止数据丢失的第一道防线就是备份。数据丢失有的是硬件损坏,还有人为的误删之类的,也有BUG的原因导致误删数据。 正常备份恢复,如果公司有DBA,一般咱们不用参与,但是学的Java,啥都得会点。 在PostgreSQL中,有三种备份方式:一、SQL备份(逻辑备份) 其实就是利用数据库自带的类似dump的命令,或者是你用图形化界面执行导入导出时,底层就是基于这个dump命令实现的。 优点:相比逻辑备份恢复的速度快。缺点:在备份数据时,可能数据还正在写入,一定程度上会丢失数据。 在恢复数据时,也需要注意数据库的版本和环境必须保持高度的一致。 没关系,还有一个归档的进程,会在切换wal日志前,将WAL日志备份出来。PostgreSQL也提供了一个全量备份的操作。可以根据WAL日志,选择一个事件点,进行恢复

    1.3K10编辑于 2024-10-02
  • 来自专栏Lansonli技术博客

    PostgreSQL基础(十三):PostgreSQL备份恢复实战操作

    PostgreSQL备份恢复实战操作一、逻辑备份恢复PostgreSQL提供了pg_dump以及pg_dumpall的命令来实现逻辑备份。这两命令差不多,看名字猜的。 执行备份 三、物理恢复(归档+物理)模拟数据库崩盘,先停止postgresql服务,然后直接删掉data目录下的全部内容将之前备份的两个文件准备好,一个base.tar,一个pg_wal.tar第一步: ,以及恢复数据的方式第四步:启动postgresql服务systemctl start postgresql-12第五步:启动后,发现查询没问题,但是执行写操作时,出错,不让写。 # 也可以采用全路径的方式/usr/pgsql-12/bin/pg_waldump2.6、修改data目录下的恢复数据的方式修改postgresql.auto.conf文件将之前的最大恢复,更换为指定的事务 id恢复基于提供的配置例子,如何指定事务id​修改postgresql.auto.conf文件指定好事务ID2.7、启动postgreSQL服务,查看是否恢复到指定事务ID2.8、记得执行会后的函数,避免无法执行写操作

    8.9K11编辑于 2024-10-03
  • 来自专栏数据和云

    PostgreSQL的pg_basebackup备份恢复详解

    格式话 t 打包为tar包 Pv 显示备份的详细过程 -u 用户 -p 端口 备份报错: 在配置文件pg_hba.conf增加一行: 备份流程: pg_basebackup: initiating -xvf base.tar -C /pgdata/12/datatar -xvf pg_wal.tar -C /pgdata/12/arch vi postgresql.auto.conf 追加: restore_command -mi 删除数据: rm -rf /pgdata/12/data/* 将备份解压到数据目录: tar -xvf base.tar -C /pgdata/12/data 使用pg_waldump查看需要恢复到哪个事务之前 恢复到502之前: 编辑配置文件: postgresql.auto.conf追加: restore_command = 'cp /pgdata/12/arch/%f %p'recovery_target_xid 现负责公司MySQL数据库、分布式数据库运维方面的技术工作;热衷于运维故障处理、备份恢复、升级迁移、性能优化的学习与分享。

    4.6K31编辑于 2022-02-25
  • 来自专栏数据库PG

    PostgreSQL 备份恢复(第二章)

    一定要添加恢复参数,否则只恢复备份的时间点。 recovery_target = 'immediate' :这个参数指定恢复应该在达到一个一致状态后尽快结束, 即尽早结束。在从一个在线备份恢复时,这意味着备份结束的那个点。 结论:PITR 技术对于 7*24 小时支撑是至关重要的,但是如果数据库非常小,增大pg_dump 备份的频率可能更方便,但对于大数据库就需要了。 恢复备份的数据库(这里用了快照备份的数据库): tar -zvxf /root/pgdatadir.tgz -C /datadir 8、 编辑 postgresql.conf 文件,添加如下两行: restore_command 2.4基于 time 恢复方式 (recovery_target_lsn='0/50000140')基于 lsn 恢复时的提示:PostgreSQL 快照方式备份恢复 root 用户操作: 1、创建一个文件

    2.6K30发布于 2021-07-15
  • 来自专栏Java呓语

    7章、备份恢复

    如果仅想导出指定数据库中的指定数据表,可以这样做: shell> mysqldump test t1 t3 t7 > dump.sql 用mysqldump以分隔文本格式转储数据 若你使用mysqldump 编写备份脚本 #! " -a ${dumpfile}.tar.gz 8chf@163.com } rm_oldfile() { #查找出当前目录下7天前生成的文件,并将之删除 find ${backuppath } -type f -mtime +7 -exec rm {} \; } #切换到数据库备份的目录。 设置备份目录 220.*.*.* 约定以mysql服务器host为文件夹,每个host下备份只有该host下的备份。 logs 目录存放备份过程的日志。 shell 目录下则是备份脚本。 ?

    1.1K20发布于 2018-08-21
  • 来自专栏猫头虎博客专区

    PostgreSQL备份恢复:步骤与最佳实践》

    最近发现很多朋友在搜索“PostgreSQL备份方法”、“PostgreSQL恢复数据教程”等关键词,显示了大家对PostgreSQL备份恢复的浓厚兴趣。 那么,这篇《PostgreSQL备份恢复:步骤与最佳实践》是为了满足大家的这份求知欲。一起深入探讨吧! 引言 数据备份恢复,对于任何数据库管理者来说都是至关重要的。 PostgreSQL作为一个广泛使用的关系型数据库,其备份恢复技巧尤为重要。 正文 1. 为什么要备份? 1.1 数据安全保障 备份的主要目的之一是确保数据的安全性。 PostgreSQL备份工具 2.1 pg_dump 和 pg_dumpall 这是PostgreSQL提供的官方备份工具。 2.2 第三方备份工具 除了PostgreSQL自带的备份工具,还有一些强大的第三方备份工具可供选择。

    1.4K10编辑于 2024-04-09
  • 来自专栏数据库PG

    PostgreSQL 备份恢复(第一章)

    引言 PostgreSQL官方文档指定了以下三种备份方法,详见:https://www.postgresql.org/docs/current/backup.html -「SQL转储」,用pg_dump 这样就算数据库突然出现了crash,在重新启动的过程中,PostgreSQL能够查看wal文件进行恢复并将数据库还原到可用的状态。 psql –f db_all.sql 7) 查看数据库 db1 是否恢复 psql db1 testdb=# select * from tb1; a --- 1 (1 rows) 8) 查看数据库 pg_ctl start 6) 查看数据库 db1 是否恢复 psql db1 testdb=# select * from tb1; a --- 1 (1 rows) 7)查看数据库 db2 是否恢复 7. 在线热备份(归档) 备份分为冷备和热备。冷备是正常关闭服务后拷贝文件。热备是服务正常运行中拷贝文 件。 由于采用数据缓冲区机制,拷贝的文件数据会不一致。

    11.2K21发布于 2021-07-14
  • 来自专栏DBA实战

    从零开始学PostgreSQL (六): 备份恢复

    概述 PostgreSQL 提供了多种备份恢复策略,旨在满足不同规模和需求的数据库环境。以下是 PostgreSQL 备份恢复的主要方法概览: 1. 7、一致性保证: 转储过程中,pg_dump会捕捉数据库的一致状态,即使在数据库运行时也能生成一致的转储文件,除了某些需要独占锁的操作。 7、WAL段切换和优化: 可以通过设置archive_timeout来控制WAL段的切换频率,减少未归档数据的量。 手动使用pg_switch_wal函数立即触发WAL段切换。 进行基础备份PostgreSQL中,pg_basebackup工具用于创建基础备份,这是数据库恢复的基础。 3.4 使用连续归档备份进行恢复 当你需要使用连续归档备份(Continuous Archiving Backup)来恢复PostgreSQL数据库时,以下是详细的恢复步骤: 停止运行中的数据库服务器,

    2.9K11编辑于 2024-09-06
  • 来自专栏云计算教程系列

    如何在CentOS 7上使用Barman备份恢复和迁移PostgreSQL数据库

    维护PostgreSQL环境的一个关键任务是定期备份其数据库。备份是任何组织的灾难恢复(DR)过程的一部分。 因此,当从物理备份恢复到某个时间点时,PostgreSQL首先恢复数据目录的内容,然后从WAL文件中播放它上面的事务。这使数据库及时处于一致状态。 Barman是用Python编写的,为PostgreSQL实例提供了一种简单,直观的物理备份恢复方法。 最后,我们将备份PostgreSQL实例从Barman服务器恢复到备用服务器。 days wal_retention_policy = main 这些retention_policy设置意味着Barman将自动覆盖旧的完整备份文件和WAL日志,同时为7天的恢复窗口保留足够的备份

    6.7K11发布于 2018-09-20
  • 来自专栏贰叁壹运维

    Centos7 系统备份恢复

    localhost file]# ls backup_1.txt [root@localhost file]# cat backup_1.txt This is a backup test of CentOS 7 [root@localhost file]# pwd /file 2.开始备份系统,进到系统根目录下,使用tar进行备份 [root@localhost file]# cd / [root@localhost ,执行tar命令进行恢复 [root@localhost /]# tar xvpfz backup.tgz -C / 5.恢复完成后,需要确认proc lost+found mnt sys目录是否存在, 6.执行完成以上步骤,还需要执行以下命令再重启即可 [root@localhost /]# restorecon -Rv / [root@localhost /]# reboot 7.重启完毕后,确认恢复 localhost file]# ls backup_1.txt [root@localhost file]# cat backup_1.txt This is a backup test of CentOS 7

    1.6K30发布于 2020-12-09
  • 来自专栏IT资讯新闻

    Centos7系统备份恢复

    Centos系统备份恢复教程 tar:   特点   1、保留权限   2、适合备份整个目录   3、可以选择不同的压缩方式   4、如果选择不压缩还能实现增量备份,部份还原,参考man 紧随其后的是我们想要备份的根目录。既然我们想备份所有东西:/。接着就是我们要剔除的目录了:我们不想备份每一样东西,因为包括有些目录不是非常有用。 backup.tar.bz2 / --exclude=/proc --exclude=/lost+found --exclude=/backup.tar.bz2 --exclude=/mnt --exclude=/sys 恢复 : 如果系统被毁坏,那么我们就可以用备份好的tar包进行恢复。 用户参照了上面的教程做的备份恢复,普遍反映:重启电脑后还是会一直提示用户名和密码 输入以后一闪还是提示用户名和密码,反正就是登不进系统。

    1.6K30发布于 2021-07-20
  • 来自专栏Laoqi's Linux运维专列

    innobackupex备份恢复+增量备份恢复

    512M;(因为这是虚拟机,所以只是测试,要是线上的服务器64G我们可以使用32G来恢复数据,这样速度会更快些) --apply-log:指定需要恢复的日志文件 如上我们只是初始化了一下; 2.3 现在进行恢复 protected]03 backup]# innobackupex --defaults-file=/etc/my.cnf --copy-back ./2017-08-23_21-23-46/ 即可恢复咱们的备份到 //创建一个db123库 [[email protected]03 ~]# mysql -uroot -pzhangduanya db123 < /tmp/mysqlbak.sql //把之前备份的数据恢复得到 ---- 四、增量备份恢复 4.1 为了还原真实性,我模拟删除数据库,并且停掉mysql,利用咱们已经备份的数据去恢复它。 4.7 然后开始恢复

    13.4K100发布于 2018-05-09
  • 来自专栏时悦的学习笔记

    使用XtraBackup备份MySQL 8.0 Part 7 对增量备份进行恢复

    MySQL 8.0.19 Redhat 7.4 操作系统账号:mysql 数据库备份账号:backup 1. prepare阶段 上节我们介绍了如何使用xtrabackup对数据库进行增量备份,分别为base 你可以在任何机器上prepare 2. prepare 备份 通过上一节内容我们有如下备份内容 第一次全备第一次增量备份第二次增量备份我们同样使用--apply-log进行恢复动作,相当于Oracle 的recover动作 我们需要依次进行prepare,即按照如下步骤进行 prepare第一次全备prepare第一次增量备份prepare第二次增量备份还有需要注意的是和prepare全备不一样,除了最后一步 过的数据文件为一致状态,无法继续prepare 如果内存有空闲,可使用--use-memory加快速度 2.1 prepare全备 xtrabackup使用“embedded InnoDB”来进行实例恢复 启动数据库 首先我们需要注意下文件的权限,如果不是使用mysql账号执行的备份恢复,首先要更改权限 $ chown -R mysql:mysql /var/lib/mysql 最后我们启动数据库即可

    2K30发布于 2020-08-18
  • 来自专栏DBA实战

    从零开始学PostgreSQL-工具篇: 备份恢复

    概述 PostgreSQL 提供了一系列强大的工具来备份恢复数据库。这些工具包括 pg_dump, pg_restore,pg_dumpall,pg_basebackup。 下面是这些工具的简要概述和一些注意事项: 1. pg_dump 概述:pg_dump 是一个用于备份单个 PostgreSQL 数据库的工具。 3. pg_dumpall 概述:pg_dumpall 用于备份整个 PostgreSQL 集群,包括所有数据库、角色、表空间等。 用途:备份整个 PostgreSQL 集群。 4. pg_basebackup 概述:pg_basebackup 用于创建整个 PostgreSQL 数据目录的物理备份,这对于灾难恢复尤为重要。 用途:备份整个 PostgreSQL 数据目录。 pg_restore -U postgres -h 127.0.0.1 -p 5432 -W --file=output.sql db.dump 7:只恢复数据,不恢复表结构 pg_restore

    3.6K10编辑于 2024-09-26
  • 来自专栏数据库新发现

    PostgreSQL 指南:内幕探索》之基础备份与时间点恢复

    本文描述了以下主题: 基础备份时间点恢复(PITR)的工作原理时间线与时间线历史文件时间点恢复与时间线历史文件 在7.4或更低版本中,PostgreSQL仅支持逻辑备份(全量逻辑备份、部分逻辑备份和数据导出 第1和第2个操作是为了更可靠地恢复数据库集簇。 备份标签backup_label文件包含以下7个项目: 检查点位置 —— 该命令所创建检查点的LSN位置。 PITR模式下的PostgreSQL会在基础备份上重放归档日志中的WAL数据,从pg_start_backup创建的重做点开始,恢复到你想要的位置为止。 在本例中,因为参数recovery_target_time被设置为该时间戳,所以PostgreSQL从重做点读取并重放WAL数据,直到时间戳2018-7-1612:05:00为止。 +00 含义如下: 数据库集簇(时间线标识为2)基于时间线标识为1的基础备份,并在2018-7-9 12:05:00.861324+00之前,通过重放检查点日志,恢复至0/A000198的位置。

    2K50发布于 2019-07-03
  • 来自专栏linux运维

    备份恢复问题:备份文件恢复失败,数据无法恢复

    排查恢复失败的原因在解决问题之前,需要明确恢复失败的具体原因。以下是一些常见原因及其排查方法:(1)备份文件损坏原因:传输中断、磁盘故障或未正确校验。 确保所有关键数据都包含在备份中。(3)恢复过程错误原因:恢复命令或工具使用不当。排查方法:确保使用的恢复工具与备份工具一致。检查恢复路径和权限是否正确。2. # 检查磁盘空间df -h # 如果空间不足,清理旧备份 find /backup -type f -mtime +7 -exec rm {} \;3. PostgreSQL:使用 pg_dump 或 pg_basebackup。 (1)恢复文件系统备份# 示例:从 tar 文件恢复数据 tar -xzf /backup/full_backup_20250207.tar.gz -C /restore/directory(2)恢复数据库备份

    3.1K10编辑于 2025-02-07
  • 来自专栏开源部署

    PostgreSQL逻辑备份恢复–pg_dump导出及psql导入实例

    PostgreSQL备份工具可以使用pg_dump及pg_dumpall。可以通过pg_dump --help获取其使用方法。这里不对其做过多介绍。 主要介绍在使用pg_dump及恢复过程中遇到的一个问题。

    1.6K20编辑于 2022-08-17
  • 来自专栏数据和云

    PostgreSQL 指南:内幕探索》之基础备份与时间点恢复(下)

    本文描述了以下主题: 基础备份 时间点恢复(PITR)的工作原理 时间线与时间线历史文件 时间点恢复与时间线历史文件 时间线与时间线历史文件 PostgreSQL中的时间线用于区分原始数据库集簇和恢复生成的数据库集簇 :05:00.861324+00 含义如下: 数据库集簇(时间线标识为2)基于时间线标识为1的基础备份,并在2018-7-9 12:05:00.861324+00之前,通过重放检查点日志,恢复至0/A000198 本文描述了以下主题: 基础备份 时间点恢复(PITR)的工作原理 时间线与时间线历史文件 时间点恢复与时间线历史文件 在7.4或更低版本中,PostgreSQL仅支持逻辑备份(全量逻辑备份、部分逻辑备份和数据导出 第1和第2个操作是为了更可靠地恢复数据库集簇。 备份标签backup_label文件包含以下7个项目: 检查点位置 —— 该命令所创建检查点的LSN位置。 因此,我们可以在没有文件系统快照功能或其他特殊工具的情况下,使用一般归档工具做基础备份。 出处:《PostgreSQL 指南:内幕探索》之基础备份与时间点恢复。 编辑:尹文敏

    2.2K31发布于 2019-07-09
  • 来自专栏章工运维

    postgresql备份脚本

    记录下postgresql备份脚本。 文件对应的格式为(前四个字段可以使用通配符 * 号): hostname:port:database:username:password # 使用通配符如下: *:*:*:*:u5xhYE3REq # 备份脚本 /usr/bin/env bash # postgresql全库备份脚本 set -e # 定义数据库连接及库名等相关信息 db_host=127.0.0.1 db_port=5432 db_user =postgres # db指定要备份的数据库,多个库请换行输入 db_name=( ndcms_master ) backup_dir=/apps/usr/postgres/pg_backup ${db_host} -p ${db_port} -U ${db_user} -F c -b -f ${backup_dir}${i}_${cur_date}.dump ${i} done # 从备份恢复指令

    97111编辑于 2023-05-19
领券