工具简介
pg_dump & pg_restrore
pg_dump是备份数据库的一种标准PostgreSQL工具,并且也在Greenplum数据库中支持。它创建一个单一(非并行)的转储文件。
pg_restore是一个用于从pg_dump以一种非纯文本格式创建的归档中恢复数据库的工具。它将发出必要的命令将数据库重构为其被保存时的状态。归档文件还允许pg_restore有选择性地恢复,甚至重新排序被恢复的项。
对于Greenplum数据库的例行备份,为了最好的性能使用Greenplum数据库的备份工具gpcrondump更好,数据恢复建议使用 gpcronrestore工具;
备份恢复
- 连接信息
pg_dump|pg_restore -h ${ip} -p ${port} -d ${dbname} -U ${username} -W
pg_dump|pg_restore --host ${ip} --port ${port} --dbname ${dbname} --username ${username} --password
说明:在这些连接信息后跟下面的导出或恢复选项;
- pg_dump
参考命令:https://docs-cn.greenplum.org/v5/utility_guide/client_utilities/pg_dump.html
pg_dump ${db_name} > ${export_file}
pg_dump ${db_name} -Fp > ${export_file}.sql
pg_dump ${db_name} -Fc > ${export_file}.dump
pg_dump ${db_name} -Ft > ${export_file}.tar
pg_dump ${db_name} -n ${schema_name} -Ft > ${export_file}.tar
pg_dump ${db_name} -t ${table_name} -Ft > ${export_file}.tar
pg_dump ${db_name} -t ${table_name} -X|--no-privileges|--no-acl Ft > ${export_file}.tar
参数说明:
1)-a|--data-only
只转储数据,不包括定义;
2)-s|--schema-only
:只转储对象的定义,不包含数据;
3)-X|--no-privileges|--no-acl
: 禁止导出文件授权语句;
4)-n
和 -t
:正常不能一起出现;
5)-O|--no-owner
:不包括对象的owner信息;
6)--gp-syntax | --no-gp-syntax
:导出语句包含表的distribute等子句;
-
pg_restore
指令参数和 pg_restore 类似,详细选项可以通过pg_restore --help
查看; -
psql
通过 pg_dump 导出的转储文件格式是 .sql 文件时,可以通过 psql 工具来执行;详细选项可以通过psql --help
查看;
================================================ over ===========================================