gs_dump 背景信息 gs_dump是openGauss用于导出数据库相关信息的工具,用户可以自定义导出一个数据库或其中的对象(模式、表、视图等),回收站对象除外。支持导出的数据库可以是默认数据库postgres,也可以是自定义数据库。
gs_dump工具由操作系统用户omm执行。
gs_dump工具在进行数据导出时,其他用户可以访问openGauss数据库(读或写)。
gs_dump工具支持导出完整一致的数据。例如,T1时刻启动gs_dump导出A数据库,那么导出数据结果将会是T1时刻A数据库的数据状态,T1时刻之后对A数据库的修改不会被导出。
gs_dump时生成列不会被转储。
gs_dump支持导出兼容v1版本数据库的文本格式文件。
gs_dump支持将数据库信息导出至纯文本格式的SQL脚本文件或其他归档文件中。
纯文本格式的SQL脚本文件:包含将数据库恢复为其保存时的状态所需的SQL语句。通过gsql运行该SQL脚本文件,可以恢复数据库。即使在其他主机和其他数据库产品上,只要对SQL脚本文件稍作修改,也可以用来重建数据库。 归档格式文件:包含将数据库恢复为其保存时的状态所需的数据,可以是tar格式、目录归档格式或自定义归档格式,详见表1。该导出结果必须与gs_restore配合使用来恢复数据库,gs_restore工具在导入时,系统允许用户选择需要导入的内容,甚至可以在导入之前对等待导入的内容进行排序。 主要功能
gs_dump可以创建四种不同的导出文件格式,通过**[-F或者–format=]**选项指定,具体如表1所示。
表 1 导出文件格式
格式名称
-F的参数值
说明
建议
对应导入工具
纯文本格式
p
纯文本脚本文件包含SQL语句和命令。命令可以由gsql命令行终端程序执行,用于重新创建数据库对象并加载表数据。
小型数据库,一般推荐纯文本格式。
使用gsql工具恢复数据库对象前,可根据需要使用文本编辑器编辑纯文本导出文件。
自定义归档格式
c
一种二进制文件。支持从导出文件中恢复所有或所选数据库对象。
中型或大型数据库,推荐自定义归档格式。
使用gs_restore可以选择要从自定义归档/目录归档/tar归档导出文件中导入相应的数据库对象。
目录归档格式
d
该格式会创建一个目录,该目录包含两类文件,一类是目录文件,另一类是每个表和blob对象对应的数据文件。
tar归档格式
t
tar归档文件支持从导出文件中恢复所有或所选数据库对象。tar归档格式不支持压缩且对于单独表大小应小于8GB。
说明:
可以使用gs_dump程序将文件压缩为目录归档或自定义归档导出文件,减少导出文件的大小。生成目录归档或自定义归档导出文件时,默认进行中等级别的压缩。gs_dump程序无法压缩已归档导出文件。
注意事项 禁止修改-F c/d/t 格式导出的文件和内容,否则可能无法恢复成功。对于-F p 格式导出的文件,如有需要,可根据需要谨慎编辑导出文件。 为了保证数据一致性和完整性,gs_dump会对需要转储的表设置共享锁。如果表在别的事务中设置了共享锁,gs_dump会等待锁释放后锁定表。如果无法在指定时间内锁定某个表,转储会失败。用户可以通过指定–lock-wait-timeout选项,自定义等待锁超时时间。 不支持加密导出存储过程和函数。 语法 "" gs_dump [OPTION]... [DBNAME]
说明:
“DBNAME"前面不需要加短或长选项。“DBNAME指定要连接的数据库。 例如: 不需要-d,直接指"DBNAME”。
"" gs_dump -p port_number postgres -f dump1.sql 或者
"" export PGDATABASE=postgres "" gs_dump -p port_number -f dump1.sql 环境变量: PGDATABASE ———————————————— 版权声明:本文为CSDN博主「如清风一般」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:blog.csdn.net/Oliviahome/…