首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在redshift中,postgresql可以跳过带有copy函数的列吗?

在redshift中,postgresql可以跳过带有copy函数的列吗?
EN

Stack Overflow用户
提问于 2013-06-11 23:57:59
回答 2查看 8.7K关注 0票数 9
  • 我有一个.csv表(t1),其中列有: c1、c2、c3在亚马逊S3存储区
  • 我想把它复制到亚马逊红移
  • 我用列创建表: c1、c2、c3,其中所有列都是空的。
  • 我收到命令: 复制t1a (c1,c3)从t1
  • 我预期它会将c1和c3从t1复制过来,并将默认的null值放在c2中,这样t1a中的一行可能看起来就像(c1_rowX,null,c3_rowX)。
  • 相反,我得到一个类型错误,因为它处理c2 (字符串类型)数据从t1到c3 (int类型)的t1a。
  • 当我不指定列时,copy命令可以正常工作: 从t1a复制t1
  • 我已经包含了一个指向redshift复制命令文档的链接:

COPY.html

  • 主要问题是我使用指定列有一个问题。谢谢
EN

Stack Overflow用户

发布于 2013-06-12 08:56:38

如果要跳过预处理部分,可以将要跳过的列定义为CHAR(1),然后对COPY命令使用TRUNCATECOLUMNS参数:

代码语言:javascript
运行
复制
CREATE TABLE t1a (
  c1,
  c2 CHAR(1),
  c3
);
COPY t1a FROM t1 TRUNCATECOLUMNS

TRUNCATECOLUMNS忽略导入期间表架构中定义的所有数据,因此该列中的所有数据将被截断为1个字符。

这只是一个黑客,建议对输入文件进行预处理,但有时只需要一个黑客。

票数 13
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17055708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档