更新时间:2024-10-14 GMT+08:00

示例2:Shared策略导入

  1. 导入前的准备。
    假设TEXT格式的数据源文件“foreign_tpcds_reasons.dat.0”保存在192.168.0.90服务器上“/input_data”目录下。
    1. 在数据服务器上配置NFS服务。具体配置方法可以参考SUSE DOC:管理指南-配置NFS服务器

      NFS服务及其数据传输的安全性由用户自己保证,建议用户在可信域内使用NFS服务。

    2. 在数据服务器上启动NFS服务。
      service nfs start
    3. 以普通用户在GaussDB各DN所在的主机创建数据文件目录上“/input_data”,并将数据源服务器mount到此目录下。
      cd /input_data
      mount -t nfs 192.168.0.90:/input_data /input_data
  2. 以操作系统用户omm登录CN所在主机。
  3. 使用如下命令连接数据库。
    gsql -d postgres -p 8000

    postgres为需要连接的数据库名称,8000为CN的端口号。

    连接成功后,系统显示类似如下信息:

    gsql((GaussDB Kernel VxxxRxxxCxx build f521c606) compiled at 2021-09-16 14:55:22 commit 2935 last mr 6385 release)
    Non-SSL connection (SSL connection is recommended when requiring high-security)
    Type "help" for help.
    
    openGauss=# 
  4. 创建导入目标表reasons。
    1
    2
    3
    4
    5
    6
    openGauss=# CREATE TABLE reasons
    (
      r_reason_sk integer not null,
      r_reason_id char(16) not null,
      r_reason_desc char(100)
    );
    
  5. 创建外表foreign_tpcds_reasons用于接收数据服务器上的数据。
    1
    2
    3
    4
    5
    6
    openGauss=# CREATE FOREIGN TABLE foreign_tpcds_reasons
    (
      r_reason_sk integer not null,
      r_reason_id char(16) not null,
      r_reason_desc char(100)
    ) SERVER gsmpp_server OPTIONS (location 'file:///input_data/foreign_tpcds_reasons.dat.0', format 'TEXT', mode 'shared', delimiter E'\x20',  NULL '');
    
  6. 将数据导入reasons。
    1
    openGauss=# INSERT INTO reasons SELECT * FROM foreign_tpcds_reasons;