VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

vb_ttrestore

功能描述

vb_ttrestore工具提供了一种通用的快速在线导入数据的方法,其可以最小支持到表级别的细粒度在线快速迁移,通常与vb_ttdump工具一起使用。

  • 从Vastbase G100 V2.2 Build 11版本开始,该工具支持以分区为粒度的动态加载(用于在替换物理文件之后重新加载物理文件)和数据迁移操作,并且支持表结构变更后的数据迁移操作。
  • 分区级别的动态动态加载和数据迁移操作仅支持在一级分区中使用,包括hash分区,range分区与list分区。

注意事项

  • 用户在使用vb_ttdump和vb_ttrestore工具进行数据迁移时,需对如下内容进行确认:

    • 确保源库及目标库数据库版本一致,编码一致。

    • 确保待迁移的表上没有外键约束,对于有外键约束的表,需要将关联表同时导出。存在外键约束的情况下,如果不将父表一起进行迁移,则在导入子表时会报错,子表无法导入到目标库中。

      vb_ttdump工具在导出时不会检测外键约束,需要操作者先自行检查。

    • 禁用状态的索引不会被导出,如果要迁移禁用的索引,需要操作者先取消其禁用状态。

  • 该工具仅支持astore存储引擎下无压缩的行存表,不支持压缩表、列存表、全局分区索引、interval分区、物化视图。

  • 该工具不迁移表空间,使用目标数据库的默认表空间。

  • 该工具不支持列备注的迁移。

  • 在动态加载前,需要事先确认表结构是否支持恢复,分别对源表和目标表进行查询,保证源表和目标表变量数量、名称、顺序、都匹配。查询方式如下:

    select oid from pg_class where relname='relname';
    select * from pg_attribute where attrelid = oid and attnum>0 order by attnum;
    

语法格式

vb_ttrestore [OPTION]...

参数说明

通用参数

  • -d, --database=DBNAME

    指定要导入的database。

  • -D, --data-directory=DIR

    指定数据文件的输入路径,需要确保操作用户对该路径具有读写权限。

  • -f, --metadata-file=FILENAME

    指定元数据的备份文件路径。

  • -n, --schema=SCHEMA

    指定要导入的schema。

    • 当指定-n参数时,忽略-t与-P参数,此时导入指定schema下的所有表。
    • 指定的schema如果在目标库中存在,则恢复到该schema下,如果目标库中不存在该指定schema,则创建schema后进行导入。
  • -t, --import-tables=TABLE

    指定要导入的表。可以将备份集中的部分指定表进行恢复,多张表可以通过多个-t来指定。

  • -P, --import-tables.partitions=TABLE

    指定要导入的分区,多个分区可以通过多个-P指定。

    • 该参数仅在Vastbase G100 V2.2 Build 11及以后版本支持。
    • 可以将schema_name.table_name当作表名来指定模式名,输入格式可以为schema_name.table_name.partname或者table_name.partname
  • --remap-schema=OLDSCHEMA:NEWSCHEMA

    通过old_schema_name:new_schema_name的格式为转储对象重新指定schema。

  • --table-exists-action=skip|replace

    指定导入对象已存在时的处理方式,可选项如下:

    • skip:表示跳过该对象不进行导入。

    • replace:之前的对象后导入新对象。

    默认值:skip

  • -v, --verbose

    在导入时显示详细信息。

  • -V, --version

    查看该工具软件版本号。

  • -?, --help

    显示帮助信息。

连接参数

  • -h, --host=HOSTNAME

    指定登录数据库的主机名。

  • -p, --port=PORT

    指定登录数据库的端口号。

  • -U, --username=NAME

    指定导入所使用的用户,该用户要求为具有系统管理员权限的用户。

  • -w, --no-password

    不出现输入密码提示。如果主机要求密码认证并且密码没有通过其它形式给出,则连接尝试将会失败。

  • -W, --password=PASSWORD

    指定-U参数所指定的用户密码。

使用示例

vb_ttrestore工具的示例请参考vb_ttdump使用示例