更新时间:2023-03-08 GMT+08:00

如何使用\copy导入导出?

由于云上GaussDB(DWS) 是全托管服务,用户无法登录后台,无法使用copy进行导入导出文件,所以云上将copy语法禁掉。云上推荐将数据文件放到obs上,使用obs外表进行入库,如果需要使用copy导入导出数据,可以参考如下方法:

  1. 将数据文件放到客户端的机器上。
  2. 使用gsql连接集群。
  3. 执行如下命令导入数据,输入数据文件在客户端的目录信息和文件名,with中指定导入选项,跟正常copy一样,但是需要在copy前添加"\"标识,入库成功后不会有消息提示。
    \copy tb_name from '/directory_name/file_name' with(...);
  4. 执行如下命令,使用默认参数直接导出数据到本地文件。
    \copy table_name to '/directory_name/file_name';
  5. 使用copy_option参数导出为CSV文件。
    \copy table_name to '/directory_name/file_name' CSV;
  6. 使用with指定option参数,导出为CSV文件,分隔符为'|'。
    \copy table_name to '/directory_name/file_name' with(format 'csv',delimiter '|') ;