云数据库 GAUSSDB-极致性能的导入导出场景:示例

时间:2025-06-03 09:32:55

示例

  1. 数据准备。

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    gaussdb=# REATE DATABASE db1 ENCODING='UTF-8' LC_COLLATE='en_US.UTF-8' LC_CTYPE ='en_US.UTF-8' DBCOMPATIBILITY = 'ORA';CREATE DATABASE
    gaussdb=# \c db1
    Non-SSL connection (SSL connection is recommended when requiring high-security)
    You are now connected to database "db1" as user "omm".
    
    db1=# CREATE TABLE test_copy(id int, name text);
    NOTICE:  The 'DISTRIBUTE BY' clause is not specified. Using 'id' as the distribution column by default.
    HINT:  Please use 'DISTRIBUTE BY' clause to specify suitable data distribution column.
    CREATE TABLE
    
    db1=# INSERT INTO test_copy VALUES(1, 'aaa');
    INSERT 0 1
    db1=# INSERT INTO test_copy VALUES(3, e'cc\tc');
    INSERT 0 1
    db1=# INSERT INTO test_copy(name) VALUES('ddd');
    INSERT 0 1
    db1=# INSERT INTO test_copy VALUES(5, e'ee\\e');
    INSERT 0 1
    db1=# INSERT INTO test_copy VALUES(6, ',');
    INSERT 0 1
    db1=# INSERT into TEST_COPY VALUES(7, '"');
    INSERT 0 1
    
    db1=# SELECT * FROM test_copy;
     id |   name    
    ----+-----------
      1 | aaa
      3 | cc      c
        | ddd
      5 | ee\e
      6 | ,
      7 | "
    (6 rows)
    

  2. 数据导出。

    1
    2
    3
    4
    db1=# SET client_encoding = 'UTF-8';
    SET
    db1=# COPY test_copy TO '/home/xy/test.bin' BINARY;
    COPY 6
    

  3. 数据导入。

    db1=# TRUNCATE test_copy;
    TRUNCATE TABLE
    
    db1=# SET client_encoding = 'UTF-8';
    SET
    db1=# COPY test_copy FROM '/home/xy/test.bin' BINARY;
    COPY 6

support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-12-1887.html