PG数据库管理_备份工具的使用

1.备份工具

pg_dump
pg_dumpall
pg_basebackup

2.简介

pg_dump  用于备份一个指定的database
pg_dumpall可以一次性备份所有的数据库的数据以及系统的全局数据。需要具备superuser权限。
pg_basebackup可以针对所有的数据库实现系统级别的磁盘备份。

pg_basebackup全库备份最有效。

3.pg_dump

pg_dump 可以精确的指定需要备份的表,schema,database,而pg_dumpall不支持。

pg_dump可以将数据备份为sql文本文件也支持压缩格式,tar格式或者目录格式。pg_restore的时候,前三种格式的备份文件都可以实现并行恢复。

pg_dump进行备份时,选择目录格式可以实现并行备份,在备份非常大的时候,可以使用目录格式。

备份某数据库database,备份结果以自定义压缩格式输出

pg_dump -h localhost -p 5432 -U userxxxx -F c -b -v -f mydb.backup mydb

备份某个database ,备份结果以sql文本方式输出,命令带-C,输出结果包含create database语句

pg_dump -h localhost -p 5432 -U userxxxx -C -F -p -b -v -f mydb.backup mydb

备份某个数据库的名称包含 ‘lsy‘ 开头的表,备份结果以压缩格式输出。

pg_dump -h localhost -p 5432 -U userxxxx -F c -b -v -t *.lsy* -f lsy.backup mydb

备份某database 中的 emp和hr的两个schema中所有的数据,备份以压缩格式输出

pg_dump -h localhost -p 5432 -U lsy -F c -b -v -n emp -n hr -f emp.backup mydb

备份某个database 除了public schema 中的数据之外的所有数据,备份以压缩方式输出

pg_dump -h localhost-p 5432 -u lishiyan -F c -b -v -N public -f all_sche_except_pub.backup mydb

将数据备份为sql文件,且生成的insert语句是带有字段名列表的标准格式,可用于跨库迁移

pg_dump -h localhost -p 5432 -U lishiyan  -F p --column-inserts -f select_tables.backup mydb

如果输出文件路径中包含空格或者其他影响命令行正常处理的字符,在路径两侧加双引号

目录格式备份

pg_dump -h localhost -p 5432 -U lishiyan -F d -f /somepath/a_directory mydb

目录格式并行备份


pg_dump -h localhost -p 5432 -U someuser -j 3 -Fd -f /somepath/a_directory mydb

不建议使用pg_dumpall进行全库备份。

PG数据库管理_备份工具的使用

上一篇:mysql必知必会-环境准备


下一篇:mapbox从postgresql导数据等切片工具及服务