微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

postgresql – 在Amazon Redshift中追加和覆盖

@H_404_2@
由于Redshift基于Postgresql,它是否可以在从S3复制到redshift时覆盖或附加表中的数据?

我得到的只是使用触发器,但他们不接受任何参数.

所有我需要编写一个脚本,如果数据已经在表中,则该参数将参数设置为yes / no(或类似).

@H_404_2@

解决方法

使用copY命令将数据从Amazon S3加载到Amazon Redshift时,数据将附加到目标表.

Redshift没有“覆盖”选项.如果您希望用正在加载的数据替换现有数据,您可以:

>将数据加载到临时表中
>删除主表中与传入数据匹配的行,例如:

DELETE FROM main-table WHERE id IN(来自temp-table的SELECT id)
>将行从临时表复制到主表,例如:

SELECT * FROM temp-table INTO主表

见:Updating and Inserting New Data

@H_404_2@ @H_404_2@
@H_404_2@
@H_404_2@

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐