首页
学习
活动
专区
圈层
工具
发布

HAWQ技术解析(十五) —— 备份恢复

注意:将所有表的insert语句放在一个单独的事务中,以避免因在备份期间执行任何更新操作而产生问题。 (2)恢复步骤         执行以下步骤从备份还原: 创建一个数据库用于恢复。...从schema文件(在pg_dump过程中被创建)重建schema。 为数据库中的每个表建立一个可读的外部表。 从外部表向实际的表中导入数据。...2. pg_dump与pg_restore         HAWQ支持PostgreSQL的备份与还原应用程序,pg_dump和pg_restore。...pg_dump应用在master节点所在主机上创建一个单一的dump文件,包含所有注册segment的数据。pg_restore从pg_dump创建的备份中还原一个HAWQ数据库。...(2)从PXF备份还原 1.创建一个新的数据库并还原schema。

2.7K90

PostgreSQL 备份与恢复(第一章)

这样就算数据库突然出现了crash,在重新启动的过程中,PostgreSQL能够查看wal文件进行恢复并将数据库还原到可用的状态。...并且可被 pg_restore 用于精细还原 -F p 备份为文本, 大库不推荐 pg_dump 恢复 $ psql dbname -U username < bakfile 或 pg_restore...[filename] – pg_restore -d dbname bakfile 二进制格式的备份只能使用 pg_restore 来还原, 可以指定还原的表, 编辑 TOC 文件, 定制还原的顺序...文本格式的备份还原, 直接使用用户连接到对应的数据库执行备份文本即可, 例如 $ psql dbname -f bak.sql ​ pg_dump 备份恢复示例: 1)创建数据库 $testdb=#createdb...testdb.dmp -f testdb.sql #可以以解析为文本内容,类似于 pg_dump 备份 $ pg_restore -l testdb.dmp #查看二进制文件中的内容 $ pg_restore

11.7K21
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    PostgreSQL-逻辑备份和还原

    MySQL PostgreSQL(本章节) MongoDB Redis Etcd 前面我们介绍了MySQL的逻辑备份,今天这个小节我们介绍PostgreSQL的逻辑备份,他比较适合中小数据库。...一.逻辑备份 1.1 pg_dump - 单数据库备份 这里的用户需要有数据库的连接(connect)和读取(select)的权限或者使用超级管理员用户。...# 基本语法 pg_dump [选项] 数据库名 > 备份文件.sql # 常用示例 # 备份整个数据库到SQL文件 pg_dump -h localhost -p 5432 -U username.../ # 只备份数据(不包含表结构) pg_dump -h localhost -U username -d database_name -a > data_only.sql # 只备份表结构 pg_dump...-roles-only > roles.sql 二.逻辑还原 2.1 psql - 还原SQL格式备份 这个还原的和MySQL还原不一样的地方是MySQL会自动覆盖旧有数据,PostgreSQL则不会。

    56310

    记录一下PostgreSQL的备份和还原

    工作原因,记录一下PostgreSQL的备份和还原,无他 pg_dump是用于备份一种PostgreSQL数据库的工具。即使数据库正在被并发使用,它也能创建一致的备份。...pg_dump不阻塞其他用户访问数据库(读取或写入)。 pg_dump只转储单个数据库。要备份一个集簇中 对于所有数据库公共的全局对象(例如角色和表空间),应使用 pg_dumpall。...当使用归档文件格式之一并与pg_restore组合时,pg_dump提供了一种灵活的归档和传输机制。...pg_dump可以被用来备份整个数据库,然后pg_restore可以被用来检查归档并/或选择数据库的哪些部分要被恢复。最灵活的输出文件格式是“自定义”格式(-Fc)和“目录”格式(-Fd)。...备份命令,需要到bin目录下,执行pg_dump 注意,需要录入服务器地址 端口号 数据库名称 和导出的文件名 --备份 cd D:\PostgreSQL\10\bin pg_dump -h *.*

    2.6K60

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

    PostgreSQL备份工具 2.1 pg_dump 和 pg_dumpall 这是PostgreSQL提供的官方备份工具。...以下是一个示例使用pg_dump备份数据库的命令: pg_dump dbname > outfile 这将生成一个包含数据库结构和数据的SQL脚本,可以在需要时用于还原数据库。...数据恢复技术 4.1 使用 pg_restore pg_restore 是与 pg_dump 相对应的恢复工具,用于从备份文件中还原数据库。...以下是使用 pg_restore 的示例命令: pg_restore -d dbname infile 这将从备份文件 infile 中还原数据库到指定的 dbname 中。...4.2 从物理备份中恢复 另一种恢复数据的方法是从物理备份中恢复。这可以通过使用工具如 rsync 或 tar 来复制备份文件到目标位置,并将其还原到数据库中。

    1.6K10

    如何备份PostgreSQL数据库

    如果您在生产环境中使用PostgreSQL,请务必采取预防措施以确保用户的数据不会丢失。通过频繁备份数据库或使用cron任务自动执行备份,您将能够在数据库丢失或损坏的情况下快速还原系统。...以postgres用户身份登录: su - postgres 通过运行以下命令将数据库的内容转储到文件中。替换dbname为要备份的数据库的名称。...pg_dump -1 dbname > dbname.bak 远程数据库 正如psql允许您连接到远程主机一样,可以从客户端计算机运行pg_dump以备份远程服务器上的数据。...创建备份文件: pg_dumpall > pg_backup.bak 从备份还原所有数据库: psql -f pg_backup.bak postgres 使用Cron任务自动执行备份 您可能希望设置一个...本节中的步骤将设置一个cron任务,每周运行一次pg_dump。

    17K42

    GreenPlum备份和恢复工具之gpbackup和gprestore

    对于非并行备份和还原操作,必须通过网络将数据从网段发送到主服务器,主服务器将所有数据写入其存储中。除了将I/O限制在一台主机之外,非并行备份还要求主服务器具有足够的本地磁盘存储空间来存储整个数据库。...从增量备份还原时, gprestore 还列出了还原操作中使用的备份 gprestore 日志文件。 在还原操作期间, gprestore 如果完全备份或其他所需的增量备份不可用,则显示错误。...要创建增量备份或从增量备份集还原数据,需要完整的备份集。归档增量备份时,必须归档完整的备份集。必须归档在主数据库和所有段上创建的所有文件。...但是,增量备份中捕获的更改晚于用于还原数据库数据的备份时,将无法还原。...从增量备份集还原时, gprestore 检查备份,并从备份集中的附录优化表的最新版本中还原每个附录优化表,并从最新备份中还原堆表。 增量备份集,完整备份和关联的增量备份必须位于单个设备上。

    3.8K30

    postgresql从入门到精通教程 - 第36讲:postgresql逻辑备份

    PostgreSQL从小白到专家,是从入门逐渐能力提升的一个系列教程,内容包括对PG基础的认知、包括安装使用、包括角色权限、包括维护管理、、等内容,希望对热爱PG、学习PG的同学们有帮助,欢迎持续关注CUUG...pg_dump只能备份单个数据库,不会导出角色和表空间相关的信息,而且恢复的时候需要创建空数据库。...· pg_dumpall可以备份所有数据库,并且备份角色、表空间。 -F c 备份为二进制格式, 压缩存储. 并且可被 pg_restore 用于精细还原。 -F p 备份为文本, 大库不推荐。...testdb.dmp 2、修改 toc 文件,用‘;’号注释掉不用还原的内容 203; 1259 40996 TABLE public dept postgres 204; 1259 41001...-d testdb1 -j4 testdb.p.dump 其它备份恢复技巧 · 备份指定/排除的表 如果只想导出指定的表数据,可以使用-t参数,表名需要用两个双引号概括起来。

    1.4K20

    【云原生进阶之数据库技术】第三章-PostgreSQL-管理-2.2-运维操作

    创建配置文件: -bash-4.2$ pg_dumpall > pg_backup.bak 从备份还原所有数据库: -bash-4.2$ psql -f pg_backup.bak postgres...##备份数据库 ##导出数据库保存为…… $ pg_dump -U 用户名 -f 备份文件 库名 ##导出数据库中某表保存为…… $ pg_dump -U postgres -f 备份文件 -t 表名...-f 备份文件 库名 ##从pg_dump创建的备份文件中恢复数据库,用于恢复由pg_dump转储的任何非纯文本格式中的数据库。...WHERE ID =ID 号; (10) 同时更新表中某个ID的多个字段的值 UPDATE 表名 SET 字段1=字段1更新的值,字段2=字段2更新的值 WHERE ID =ID号; (11)同时更行表中多个字段的值...表名 WHERE 字段 IS NULL; (15)从表的某行开始获取N条数据,一般通过该命令实现分页功能 以下语句表示:从表t_host的0行开始获取20条数据。

    1.5K10

    PostgreSQL-常用命令

    USAGE, CREATE ON SCHEMA schema名 TO 用户名; -- USAGE:允许访问 schema 中的对象;CREATE:允许在 schema 中创建对象 三、数据备份和还原...#备份 #备份远程的库,有多少库,就需要输入多少次密码。...#备份单个库,不需要输入密码,默认文本格式,只能用psql还原 pg_dump -U postgres -d dbname -f dbname.sql #备份单个库,不需要输入密码,使用二进制备份...pg_dump -U postgres -d dbname -F c -f dbname.sql #还原单个库,库必须要提前创建 #默认不加参数的pg_dump的备份只能用psql还原 psql -h...uuid-ossp: 支持生成和处理 UUID(通用唯一标识符),用于唯一标识数据行或对象。 hstore: 提供了一个键值对的存储模型,可以在单个列中存储非结构化数据。

    1.2K10

    PostgreSQL PG_DUMP 工作失败了怎么回事及如何处理

    所以基于这个pg_dump的问题的写一篇,pgdump对比mysqldump来说,的确从功能性和性能方面要比mysql 给的逻辑备份的方式要好的多,这里我们可以稍微浅浅的比较一下 1 pg_dump...基于上面的问题,备份失败了,这里我们的需要分析几个问题 1 pg_dump 在去备份中,获取的锁是什么锁 2 pg_dump 在获取锁中,遇到困难,可以等待的时间是多长 3 pg_dump的角度我们可以怎么去尝试解决遇到的问题...,pg_dump 在并行运行备份对数据对象中请求共享锁 access share ,同时基于并发性需要确认备份中对于备份的对象没有人删除或改变其名字等,此表如果对于另一个访问对象正在使用独占锁时,备份申请的锁将不被授予...在进行全库备份中,pg_dump 需要以下的锁来支持工作 1 access share 锁,对于表的元数据进行包含 2 row share 在读取表行中,确保读取期间的表行的一致性 3 share...基于以上的问题,在备份中通过pg_dump进行全库备份需要注意 1 对于数据库的尤其的大型数据库的全库备份,不建议使用pg_dump来进行数据库的备份,而是建议使用备份软件或物理备份的方式进行数据的备份

    1K10

    PostgreSQL PG_DUMP 工作失败了怎么回事及如何处理

    所以基于这个pg_dump的问题的写一篇,pgdump对比mysqldump来说,的确从功能性和性能方面要比mysql 给的逻辑备份的方式要好的多,这里我们可以稍微浅浅的比较一下 1 pg_dump...基于上面的问题,备份失败了,这里我们的需要分析几个问题 1 pg_dump 在去备份中,获取的锁是什么锁 2 pg_dump 在获取锁中,遇到困难,可以等待的时间是多长 3 pg_dump的角度我们可以怎么去尝试解决遇到的问题...,pg_dump 在并行运行备份对数据对象中请求共享锁 access share ,同时基于并发性需要确认备份中对于备份的对象没有人删除或改变其名字等,此表如果对于另一个访问对象正在使用独占锁时,备份申请的锁将不被授予...在进行全库备份中,pg_dump 需要以下的锁来支持工作 1 access share 锁,对于表的元数据进行包含 2 row share 在读取表行中,确保读取期间的表行的一致性 3 share...基于以上的问题,在备份中通过pg_dump进行全库备份需要注意 1 对于数据库的尤其的大型数据库的全库备份,不建议使用pg_dump来进行数据库的备份,而是建议使用备份软件或物理备份的方式进行数据的备份

    1.2K10

    Every Day of a DBA,第146期: Oracle MySQL PostgreSQL 数据库备份详解

    vs 逻辑备份 · 锁机制 · 原理深析 文档概要:本文从底层原理出发,详细对比 Oracle、MySQL、PostgreSQL 三大数据库的物理备份与逻辑备份方案,深入分析"锁表"与"不锁表"的根本原因...DB_TRX_ID 的旧事务) 行的 DB_TRX_ID 在 m_ids[] 中 → ❌ 不可见(活跃事务,需回滚) 行的...,确保备份期间每个被修改的数据页都有完整镜像在 WAL 中。...) 如果行的 t_xmin 在 xip[] 中 → ❌ 不可见(插入事务未提交) 如果行的 t_xmax 不在 xip[] 中 → ❌ 不可见(已被删除/更新) 其他情况...将旧行标记为已删除 (t_xmax = 当前事务ID) 2. 插入新行 (t_xmin = 当前事务ID) 所以同一行可能有多个版本分布在数据文件中!

    32510

    从零开始学PostgreSQL (十二):高效批量写入数据库

    关于pg_dump的注意事项:使用pg_dump工具进行数据导出或导入时,要注意选择正确的选项以适应不同的数据恢复需求。...使用COPY命令 利用COPY命令一次性加载所有行,而非一系列的INSERT命令。COPY针对大量行的加载进行了优化,虽然灵活性不如INSERT,但在大数据量加载时开销明显较小。...关于pg_dump的几点说明 pg_dump生成的脚本默认应用了部分上述优化,但要快速还原pg_dump的备份,还需手动调整一些配置,比如增加maintenance_work_mem和max_wal_size...考虑是否将整个备份作为一个事务恢复,以及使用pg_restore的--jobs选项允许并发数据加载和索引创建 非持久化设置 持久性是数据库的一项特性,它保证即使服务器崩溃或断电,已提交的事务记录也会被保留...始终在安全的测试环境下试验这些方法,并在生产环境中实施前进行全面的备份和测试。

    1.9K10

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

    恢复转储 使用 pg_restore 命令可以从 SQL 转储文件中恢复数据库,可以选择性地恢复特定的表、模式或数据序列。 1.2....3、远程备份: pg_dump可以从任何有权限访问目标数据库的远程主机执行备份。 4、权限需求: 通常需要以数据库超级用户的身份运行pg_dump来备份整个数据库,因为超级用户对所有表都有读取权限。...以下是从提供的文档中总结的关键点: 1、备份数据目录:确保备份包含数据库集群目录下的所有文件。如果使用了外部表空间,记得也备份它们,并确保备份工具能正确处理符号链接。...当你需要将数据库恢复到过去某个时刻的状态时,例如因为你意外删除了一个关键表,你可能需要使用备份的数据并结合写前日志(WAL, Write-Ahead Logging)文件来还原数据库。...当你从WAL归档中恢复数据时,PostgreSQL会在恢复完成后创建一个新的时间线。这个新时间线生成的WAL记录会被标记,以区别于原始历史记录中的记录。

    4.1K11

    原 PostgreSQL备份加密方法

    本文加密方式是在利用pg_dump备份出文件后直接利用openssl进行文件加密。...2、加密脚本:      将参数直接传递给pg_dump,然后进行加密,当第一个参数为"encrypt"时,则进行加密,否则按照pg_dump本身的参数进行执行,脚本如下: [sure@localhost...$@ fi 这里是利用公钥进行加密的,第一个参数为"encyrpt",作为是否加密的标志;                                      第二个参数为pg_dump...3、解密脚本:     首先对加密文件进行解密,才可以还原。脚本如下: [sure@localhost bin]$ cat dencrypt_backup #!...以上就是本次PostgreSQL备份加密使用到的脚本,下面是一次完整的使用过程: [sure@localhost bin]$ .

    2.1K50

    PostgreSQL数据库GB级备份与还原方法

    ODOO数据库的备份和还原有两种方法,一种是利用ODOO自带的自动化备份工具Database auto-backup 进行备份,并在WEB页面进行数据库还原,另一种是GB级别以上的备份方法,本文先描述第二种备份方法...一、备份数据库 1.编写备份数据库shell脚本 自动化备份PG数据库,并按日期进行命名,备份完成后,将备份文件上传到远程FTP服务器。 #!...="192.168.150.121" ftp_dir="/home/pg_bak" file_name="${db_name}_${time_date}.sql" cd "$src_dir" pg_dump...postgres=#  2.psql命令行创建数据库 在还原数据库之前,先创建一个testdb2的数据库,校对规则指定为C。...             | postgres=CTc/postgres    testdb2      | odoo     | UTF8     | C           | zh_CN.UTF-8 |    (7 行记录

    1.7K31

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

    下面是这些工具的简要概述和一些注意事项: 1. pg_dump 概述:pg_dump 是一个用于备份单个 PostgreSQL 数据库的工具。...2. pg_restore 概述:pg_restore 是一个用于从创建的备份文件恢复数据的工具。 用途:恢复数据库。...--enable-row-security # 启用行级安全性(仅转储用户有访问权限的内容)。...pg_dump使用示例 要将数据库转储到自定义格式的存档文件中,请执行以下操作: pg_dump -U postgres -h 127.0.0.1 -p 5432 -W -Fc -d mydb > db.dump...pg_dump 用于单个数据库的备份和恢复,pg_dumpall 用于整个集群的备份,pg_basebackup 用于物理备份。 备份策略:制定定期备份计划,并测试恢复过程,确保备份文件可用。

    6.3K10
    领券