云服务器内容精选
-
说明 场景1 如果某数据库集群有任何本地数据要添加到template1数据库,请谨慎将gs_dump的输出恢复到一个真正的空数据库中,否则可能会因为被添加对象的定义被复制,出现错误。要创建一个无本地添加的空数据库,需从template0而非template1复制,例如: CREATE DATABASE foo WITH TEMPLATE template0; tar归档形式的文件大小不得超过8GB(tar文件格式的固有限制)。tar文档整体大小和任何其他输出格式没有限制,操作系统可能对此有要求。 由gs_dump生成的转储文件不包含优化程序用来做执行计划决定的统计数据。因此,最好从某转储文件恢复之后运行ANALYZE以确保最佳效果。转储文件不包含任何ALTER DATABASE…SET命令,这些设置由gs_dumpall转储,还有数据库用户和其他完成安装设置。 场景2 当SEQUENCE已经到达最大或最小值时,通过gs_dump来备份SEQUENCE值会因执行报错退出。可参考如下说明处理: SEQUENCE已经到达最大值,但最大值小于2^63-2 报错示例: sequence对象定义 CREATE SEQUENCE seq INCREMENT 1 MINVALUE 1 MAXVALUE 3 START WITH 1; 执行gs_dump备份 gs_dump -U dbadmin -W {password} -p 37300 postgres -t PUBLIC.seq -f backup/MPPDB_backup.sql gs_dump[port='37300'][postgres][2019-12-27 15:09:49]: The total objects number is 337. gs_dump[port='37300'][postgres][2019-12-27 15:09:49]: WARNING: get invalid xid from GTM because connection is not established gs_dump[port='37300'][postgres][2019-12-27 15:09:49]: WARNING: Failed to receive GTM rollback transaction response for aborting prepared (null). gs_dump: [port='37300'] [postgres] [archiver (db)] [2019-12-27 15:09:49] query failed: ERROR: Can not connect to gtm when getting gxid, there is a connection error. gs_dump: [port='37300'] [postgres] [archiver (db)] [2019-12-27 15:09:49] query was: RELEASE bfnextval 处理方法: 通过SQL语句连接postgres数据库,执行如下语句,修改sequence seq1的最大值。 gsql -p 37300 postgres -r -c "ALTER SEQUENCE PUBLIC.seq MAXVALUE 10;" 执行dump工具进行备份。 gs_dump -U dbadmin -W {password} -p 37300 postgres -t PUBLIC.seq -f backup/MPPDB_backup.sql gs_dump[port='37300'][postgres][2019-12-27 15:10:53]: The total objects number is 337. gs_dump[port='37300'][postgres][2019-12-27 15:10:53]: [100.00%] 337 objects have been dumped. gs_dump[port='37300'][postgres][2019-12-27 15:10:53]: dump database postgres successfully gs_dump[port='37300'][postgres][2019-12-27 15:10:53]: total time: 230 ms SEQUENCE已经到达最小值或最大值2^63-2 gs_dump不支持该场景下的SEQUENCE数值备份。 SQL端不支持SEQUENCE到达最大值2^63-2后的MAXVALUE修改,不支持SEQUENCE到达最小值后的MINVALUE修改。
-
语法 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
-
示例 使用gs_dump转储数据库为SQL文本文件或其它格式的操作,如下所示。 示例中“password”表示数据库用户密码,由用户自己设置;“backup/MPPDB_backup.sql”表示导出的文件,其中backup表示相对于当前目录的相对目录;“37300”表示数据库服务器端口;“postgres”表示要访问的数据库名。 导出操作时,请确保该目录存在并且当前的操作系统用户对其具有读写权限。 示例1:执行gs_dump,导出postgres数据库全量信息,导出的MPPDB_backup.sql文件格式为纯文本格式。 gs_dump -U dbadmin -W {password} -f backup/MPPDB_backup.sql -p 37300 postgres -F p gs_dump[port='37300'][postgres][2018-06-27 09:49:17]: The total objects number is 356. gs_dump[port='37300'][postgres][2018-06-27 09:49:17]: [100.00%] 356 objects have been dumped. gs_dump[port='37300'][postgres][2018-06-27 09:49:17]: dump database postgres successfully gs_dump[port='37300'][postgres][2018-06-27 09:49:17]: total time: 1274 ms 使用gsql程序从纯文本导出文件中导入数据。 示例2:执行gs_dump,导出postgres数据库全量信息,导出的MPPDB_backup.tar文件格式为tar格式。 gs_dump -U dbadmin -W {password} -f backup/MPPDB_backup.tar -p 37300 postgres -F t gs_dump[port='37300'][postgres][2018-06-27 10:02:24]: The total objects number is 1369. gs_dump[port='37300'][postgres][2018-06-27 10:02:53]: [100.00%] 1369 objects have been dumped. gs_dump[port='37300'][postgres][2018-06-27 10:02:53]: dump database postgres successfully gs_dump[port='37300'][postgres][2018-06-27 10:02:53]: total time: 50086 ms 示例3:执行gs_dump,导出postgres数据库全量信息,导出的MPPDB_backup.dmp文件格式为自定义归档格式。 gs_dump -U dbadmin -W {password} -f backup/MPPDB_backup.dmp -p 37300 postgres -F c gs_dump[port='37300'][postgres][2018-06-27 10:05:40]: The total objects number is 1369. gs_dump[port='37300'][postgres][2018-06-27 10:06:03]: [100.00%] 1369 objects have been dumped. gs_dump[port='37300'][postgres][2018-06-27 10:06:03]: dump database postgres successfully gs_dump[port='37300'][postgres][2018-06-27 10:06:03]: total time: 36620 ms 示例4:执行gs_dump,导出postgres数据库全量信息,导出的MPPDB_backup文件格式为目录格式。 gs_dump -U dbadmin -W {password} -f backup/MPPDB_backup -p 37300 postgres -F d gs_dump[port='37300'][postgres][2018-06-27 10:16:04]: The total objects number is 1369. gs_dump[port='37300'][postgres][2018-06-27 10:16:23]: [100.00%] 1369 objects have been dumped. gs_dump[port='37300'][postgres][2018-06-27 10:16:23]: dump database postgres successfully gs_dump[port='37300'][postgres][2018-06-27 10:16:23]: total time: 33977 ms
-
参数说明 通用参数: -f, --file=FILENAME 将输出发送至指定文件或目录。如果省略该参数,则使用标准输出。如果输出格式为(-F c/-F d/-F t)时,必须指定-f参数。如果-f的参数值含有目录,要求目录对当前用户具有读写权限。 -F, --format=c|d|t|p 选择输出格式。格式如下: p|plain:输出一个文本SQL脚本文件(默认)。 c|custom:输出一个自定义格式的归档,并且以目录形式输出,作为gs_restore输入信息。该格式是最灵活的输出格式,因为能手动选择,而且能在恢复过程中将归档项重新排序。该格式默认状态下会被压缩。 d|directory:该格式会创建一个目录,该目录包含两类文件,一类是目录文件,另一类是每个表和blob对象对应的数据文件。 t|tar:输出一个tar格式的归档形式,作为gs_restore输入信息。tar格式与目录格式兼容;tar格式归档形式在提取过程中会生成一个有效的目录格式归档形式。但是,tar格式不支持压缩且对于单独表有8GB的大小限制。此外,表数据项的相应排序在恢复过程中不能更改。 输出一个tar格式的归档形式,也可以作为gsql输入信息。 -v, --verbose 指定verbose模式。该选项将导致gs_dump向转储文件输出详细的对象注解和启动/停止次数,向标准错误流输出处理信息。 -V, --version 打印gs_dump版本,然后退出。 -Z, --compress=0-9 指定使用的压缩比级别。 取值范围:0~9 0表示无压缩。 1表示压缩比最小,处理速度最快。 9表示压缩比最大,处理速度最慢。 针对自定义归档格式,该选项指定单个表数据片段的压缩,默认方式是以中等级别进行压缩。对于文本输出,设置非零压缩级别将会导致整个输出文件被压缩(类似通过gzip进行压缩),默认不压缩。tar归档格式目前不支持压缩。 --lock-wait-timeout=TIMEOUT 请勿在转储刚开始时一直等待以获取共享表锁。如果无法在指定时间内锁定某个表,就选择失败。可以以任何符合SET statement_timeout的格式指定超时时间。 -?, --help 显示gs_dump命令行参数帮助,然后退出。 转储参数:
-
背景信息 gs_dump是 GaussDB (DWS)用于导出数据库相关信息的工具,用户可以自定义导出一个数据库或其中的对象(模式、表、视图等)。支持导出的数据库可以是默认数据库postgres,也可以是自定义数据库。 gs_dump工具在进行数据导出时,其他用户可以访问集群数据库(读或写)。 gs_dump工具支持导出完整一致的数据。例如,T1时刻启动gs_dump导出A数据库,那么导出数据结果将会是T1时刻A数据库的数据状态,T1时刻之后对A数据库的修改不会被导出。 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可以选择要从自定义归档导出文件中导入相应的数据库对象。 目录归档格式 d 该格式会创建一个目录,该目录包含两类文件,一类是目录文件,另一类是每个表和blob对象对应的数据文件。 - tar归档格式 t tar归档文件支持从导出文件中恢复所有或所选数据库对象。tar归档格式不支持压缩且对于单独表大小应小于8GB。 - 可以使用gs_dump程序将文件压缩为纯文本或自定义归档导出文件,减少导出文件的大小。生成纯文本导出文件时,默认不压缩。生成自定义归档导出文件时,默认进行中等级别的压缩。gs_dump程序无法压缩已归档导出文件。
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格