目录

2.1 PostgreSQL逻辑备份与恢复

2.1.1  基于pg_dump进行逻辑备份

1. 逻辑备份的工具

1)pg_dump支持指定所要备份的对象:可以单独备份表、schema或者database,也 可以将数据备份为SQL文本文件格式,也支持备份为用户自定义的压缩或者TAR格式。

2)pg_dumpall仅支持导出全库数据,只支持文本格式。

2. pg_dump备份

1)将名为mydb的数据库导出

pg_dump mydb > db.sql

2)要将数据库转储到自定义格式的存档文件中,请执行操作

pg_dump -Fc mydb > db.dump

3)要将数据库转储到目录格式的存档中,请执行操作

pg_dump -Fd mydb -f dumpdir

4)要转储名为mytab的单个表,请执行操作

pg_dump -t mytab mydb > db.sql

3. pg_dumpall备份

1)要转储所有数据库,请执行操作

pg_dumpall > db.sql

2)导出所有Role 和 Tablespace

pg_dumpall -g > pg_globle.sql

pg_dumpall -g -h 127.0.0.1 > pg_globle.sql

2.1.2  基于psql\pg_restore进行逻辑恢复

逻辑恢复是PostgreSQL数据库安全保障体系中的关键环节,主要利用psql和pg_restore工具,将从pg_dump或pg_dumpall取得的逻辑备份(例如SQL脚本或自定义格式归档)载入目标数据库。这种方法的核心价值在于其精准控制能力,支持从数据库、模式到表级别的细粒度数据还原,并能结合事务日志实现时间点恢复,从而在数据误操作、软件故障等场景下提供强有力的数据保障。

2.1.3 基于copy逻辑恢复

copy命令是PostgreSQL实现高性能数据加载的核心工具,它通过文件流接口为单表数据恢复提供了极致效率。在逻辑恢复场景中,COPY支持CSV、文本、二进制等多种格式,可直接将外部数据高速载入数据库表。