更新日期:2024年09月11日
参数说明
通用参数
-f, --filename=FILENAME
将输出发送至指定文件。如果这里省略,则使用标准输出。
-v, --verbose
指定verbose 模式。该选项将导致gs_dumpall 向转储文件输出详细的对象注解和启动/
停止次数,向标准错误流输出处理信息。
-V, --version
打印gs_dumpall 版本,然后退出。
--lock-wait-timeout=TIMEOUT
请勿在转储刚开始时一直等待以获取共享表锁。
如果无法在指定时间内锁定某个表,
就
选择失败。可以以任何符合SET statement_timeout 的格式指定超时时间。
-?, --help
显示gs_dumpall 命令行参数帮助,然后退出。
转储参数
-a, --data-only
只转储数据,不转储模式(数据定义)。
-c, --clean
在重新创建数据库之前,执行SQL 语句清理(删除)这些数据库。针对角色和表空间
的转储命令已添加。
-g, --globals-only
只转储全局对象(角色和表空间),无数据库。
-o, --oids
GBase 8c 工具参考手册
南大通用数据技术股份有限公司
147
转储每个表的对象标识符(OIDs),作为表的一部分数据。该选项用于应用以某种方
式参照了OID 列的情况。如果不是以上这种情况,请勿使用该选项。
-O, --no-owner
不输出设置对象的归属这样的命令,以匹配原始数据库。默认情况下,gs_dumpall 会发
出ALTER OWNER 或SET SESSION AUTHORIZATION 语句设置所创建的模式元素的所属。
如果脚本正在运行,该语句不会执行成功,除非是由系统管理员触发(或是拥有脚本中所有
对象的同一个用户)。通过指定-O,编写一个任何用户都能存储的脚本,且该脚本会授予该
用户拥有所有对象的权限。
-r, --roles-only
只转储角色,不转储数据库或表空间。
-s, --schema-only
只转储对象定义(模式),而非数据。
-S, --sysadmin=NAME
在转储过程中使用的系统管理员名称。
-t, --tablespaces-only
只转储表空间,不转储数据库或角色。
-x, --no-privileges
防止转储访问权限(授权/撤销命令)。
--column-inserts|--attribute-inserts
以INSERT 命令带列名(INSERT INTO 表(列、…)值…)方式导出数据。这会导致
恢复缓慢。
但是由于该选项会针对每行生成一个独立分开的命令,
所以在重新加载某行时出
现的错误只会导致那行丢失,而非整个表内容。
--disable-dollar-quoting
该选项将禁止在函数体前使用美元符号$,
并强制使用SQL 标准字符串语法对其进行引
GBase 8c 工具参考手册
南大通用数据技术股份有限公司
148
用。
--disable-triggers
该参数为扩展预留接口,不建议使用。
--inserts
发出INSERT 命令(而非COPY 命令)转储数据。这会导致恢复缓慢。注意:如果重
排列顺序,可能会导致恢复整个失败。--column-inserts 选项更加安全,虽然可能更慢些。
--no-publications
不转储发布。
--no-security-labels
该参数为扩展预留接口,不建议使用。
--no-subscriptions
不转储订阅。
--no-tablespaces
请勿输出创建表空间的命令,也请勿针对对象选择表空间。
使用该选项,
无论默认表空
间是哪个,在恢复过程中所有对象都会被创建。
--no-unlogged-table-data
该参数为扩展预留接口,不建议使用。
--include-alter-table
导出表中已删除的列信息。
--quote-all-identifiers
强制对所有标识符加引号。为了向后续版本迁移,
且其中可能涉及引入额外关键词,在
转储相应数据库时该选项会有帮助。
--dont-overwrite-file
GBase 8c 工具参考手册
南大通用数据技术股份有限公司
149
不重写当前文件。
--use-set-session-authorization
输出符合SQL 标准的SET SESSION AUTHORIZATION 命令而不是ALTER OWNER 命
令来确定对象所有权。
这样令转储更加符合标准,
但是如果转储文件中的对象的历史有些问
题,那么可能不能正确恢复。并且,使用SET SESSION AUTHORIZATION 的转储需要数据
库系统管理员的权限才能转储成功,而ALTER OWNER 需要的权限则低得多。
--with-encryption=AES128
指定转储数据需用AES128 进行加密。
--with-key=KEY
AES128 密钥长度规则如下:
密钥长度为8~16 字符。
至少包含大写字母(A-Z)、小写字母(a-z)、数字(0-9)、非字母数字字符(限
定为~!@#$%^&*()-_=+|[]{};:,<.>/?)四类字符中的三类字符。
--include-extension
如果--include-extension 参数被设置,将备份所有的CREATE EXTENSION 语句。
--include-templatedb
转储过程中包含模板库。
--binary-upgrade
该参数为扩展预留接口,不建议使用。
--binary-upgrade-usermap=“USER1=USER2”
该参数为扩展预留接口,不建议使用。
--non-lock-table
该参数仅供OM 工具使用。
GBase 8c 工具参考手册
南大通用数据技术股份有限公司
150
--tablespaces-postfix
该参数为扩展预留接口,不建议使用。
--parallel-jobs
指定备份进程并发数,取值范围为1~1000。
--pipeline
使用管道传输密码,禁止在终端使用。
-g/--globals-only 和-r/--roles-only 不能同时使用。
-g/--globals-only 和-t/--tablespaces-only 不能同时使用。
-r/--roles-only 和-t/--tablespaces-only 不能同时使用。
-s/--schema-only 和-a/--data-only 不能同时使用。
-r/--roles-only 和-a/--data-only 不能同时使用。
-t/--tablespaces-only 和-a/--data-only 不能同时使用。
-g/--globals-only 和-a/--data-only 不能同时使用。
--tablespaces-postfix 和--binary-upgrade 必须一起使用。
--binary-upgrade-usermap 和--binary-upgrade 必须一起使用。
--parallel-jobs 和-f/--file 必须一起使用。
连接参数
-h, --host
指定主机的名称。如果取值是以斜线开头,它将用作Unix 域套接字的目录。默认值取
自PGHOST 环境变量;如果没有设置,将启动某个Unix 域套接字建立连接。
该参数只针对GBase 8c 外,对GBase 8c 内本机只能用127.0.0.1。
GBase 8c 工具参考手册
南大通用数据技术股份有限公司
151
环境变量:PGHOST
-l, --database
指定所连接的转储全局对象的数据库名称,并去寻找还有其他哪些数据库需要被转储。
如果没有指定,会使用postgres 数据库,如果postgres 数据库不存在,会使用template1。
-p, --port
指定服务器所侦听的TCP 端口或本地Unix 域套接字后缀,以确保连接。默认值设置为
PGPORT 环境变量。
在开启线程池情况下,建议使用pooler port,即侦听端口+1。
环境变量:PGPORT
-U, --username
所连接的用户名。
环境变量:PGUSER
-w, --no-password
不出现输入密码提示。
如果服务器要求密码认证并且密码没有通过其它形式给出,
则连
接尝试将会失败。该选项在批量工作和不存在用户输入密码的脚本中很有帮助。
-W, --password
指定用户连接的密码。
如果主机的认证策略是trust,
则不会对系统管理员进行密码验证,
即无需输入-W 选项;
如果没有-W 选项,并且不是系统管理员,“Dump Restore 工具”会提示
用户输入密码。
--role
指定创建转储使用的角色名。选择该选项,会使gs_dumpall 连接数据库后,发起一个
SET ROLE 角色名命令。当所授权用户(由-U 指定)没有gs_dumpall 要求的权限时,该选
项会起到作用,
即切换到具备相应权限的角色。
某些安装操作规定不允许直接以系统管理员
身份登录,而使用该选项能够在不违反该规定的情况下完成转储。
GBase 8c 工具参考手册
南大通用数据技术股份有限公司
152
--rolepassword
指定具体角色用户的角色密码。