Postgresql 在红移中插入覆盖表

Postgresql 在红移中插入覆盖表,postgresql,syntax,amazon-redshift,Postgresql,Syntax,Amazon Redshift,我想完全覆盖红移表 例如,在Hive中,我可以执行以下操作: INSERT OVERWRITE INTO target SELECT s.* FROM staging s LEFT JOIN target t ON s.primaryKey = t.primaryKey AND s.distKey = t.distKey WHERE t.primaryKey IS NULL; 我无法在红移模式下实现这一点(除了删除并重新创建表) 有人知道覆盖的红移语法是什么吗 虽然没有与插入覆盖相当的命令,

我想完全覆盖红移表

例如,在Hive中,我可以执行以下操作:

INSERT OVERWRITE INTO target 
SELECT s.* FROM staging s LEFT JOIN target t
ON s.primaryKey = t.primaryKey AND s.distKey = t.distKey
WHERE t.primaryKey IS NULL;
我无法在红移模式下实现这一点(除了删除并重新创建表)


有人知道覆盖的红移语法是什么吗

虽然没有与插入覆盖相当的命令,但您可以通过以下方式执行此操作:

  • TRUNCATE
  • 使用
    选择进入
例如:
SELECT INTO FROM

TRUNCATE
命令是删除表中所有内容的非常有效的方法。但是,它不能通过
回滚来逆转,因此请确保您确实想要这样做

见:


虽然没有等效于插入覆盖的命令,但您可以通过以下方式执行此操作:

  • TRUNCATE
  • 使用
    选择进入
例如:
SELECT INTO FROM

TRUNCATE
命令是删除表中所有内容的非常有效的方法。但是,它不能通过
回滚来逆转,因此请确保您确实想要这样做

见:


上次我检查postgreql没有INSERT的覆盖子句上次我检查postgreql没有INSERT的覆盖子句现代pg v9.5+可以用于冲突规则()现代pg v9.5+可以用于冲突规则()