PostgreSQL COPY,是否可以一次将数据写入多个表

时间:2019-03-14 20:06:17

标签: postgresql copy postgresql-copy

我有一个批量数据集,必须将其加载到多个PostgreSQL表中。是否可以通过在单个事务中使用COPY命令来完成此操作?因此,如果出现问题,我可以回滚所有内容。

1 个答案:

答案 0 :(得分:2)

是的。在您的SQL中开始一个事务,并在所有COPY语句之后提交它。如果任何COPY失败,则整个事务将回滚。例如:

BEGIN;

COPY 'FILEPATHINSIDESERVER' TO YOUR.TABLE;
COPY '...' TO ... ;
COPY '...' TO ... ;
COPY '...' TO ... ;

COMMIT;