暂无图片
暂无图片
5
暂无图片
暂无图片
暂无图片

GaussDB数据导出方式

Rhein 2025-05-08
1596

GaussDB数据导出方式有:

gsql元命令\copy、gsql元命令+\o导出查询结果到文件、JDBC接口CopyManager。三者数据导出性能差别不大。

copy、\copy、CopyManager、gs_loader的区别:

l copy,从理解上可以理解为copy语法与copy语句两种含义。

n copy语法:copy语句、\copy与CopyManager均依赖于copy语法,详细语法可以参考《开发指南》中的“DML 语法一览表”——“拷贝数据”。

n copy语句:通过各类客户端工具直接执行copy语句,可实现表和数据库服务器文件之间的拷贝数据。但目前行内高斯数据库基于华为云部署,规范限制不允许在数据库服务器上部署文件,直接执行copy语句会出现报错:

ERROR:  COPY to or from a file is prohibited for security concerns

HINT:  Anyone can COPY to stdout or from stdin. gsql's \copy command also works for anyone.

因此不应直接使用copy语句,而应该通过客户端工具对应的功能,如\copy、CopyManager或gs_loader,实现表和客户端所在服务器文件之间拷贝数据。

l \copy

\copy是gsql工具的元命令,需通过gsql工具执行。以\copy开头,具体使用copy语法,支持导入导出。

l CopyManager

CopyManager是JDBC驱动提供的一个API接口类。具体使用copy语法,支持导入导出。

l gs_loader

gs_loader是一个兼容Oracle sqlldr用法的兼容性工具,将控制文件支持的语法转换为\COPY语法,然后利用已有的\COPY功能导入数据,仅支持导入

gs_loader仅精简模式支持使用。分布式不支持gs_loader、请直接使用\copy功能。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论