postgresql-备份恢复

发布时间 2023-07-19 22:20:58作者: 原来是你~~~
1、逻辑备份恢复

pg_dump/pg_restore 命令备份恢复

对数据库或表备份恢复

## 备份指定的数据库 test
$ pg_dump -U postgres -W -h 192.168.3.122 -p 1921 test > /pgdata/dumpbak/test.sql

## 备份指定库中的某个表 t1
$ pg_dump -U postgres -W -h 192.168.3.122 -p 1921 test -t t1 > /pgdata/dumpbak/t1.sql

## 备份文件以加密形式存储,该备份出来的文件可以通过pg_restore恢复
$ pg_dump -U postgres -W test -Fc > /pgdata/dumpbak/test.dump

## 数据恢复
$ pg_restore -d test /pgdata/dumpbak/test.dump 
$ psql -U postgres -W test < /pgdata/dumpbak/test.sql 

备份所有的库

## 文件内容格式为 hostname:port:database:username:password
$ more .pgpass 
*:*:*:postgres:123456
$ chmod 600 .pgpass
$ pg_dumpall > all.sql
2、物理备份恢复

pg_basebackup 工具备份

选项参数含义:

-D ,保存备份的路径

-Ft , 备份内容保存格式为tar包形式,有 p|t 两种形式,p为普通文本形式

-z , 压缩备份文件

-Pv , 显示进度和输出信息

$ pg_basebackup -D /pgdata/pg_backup/ -Ft -z -Pv -U postgres -h 192.168.3.122 -p 1921 -R