我有一个批量数据集,必须将其加载到多个PostgreSQL表中。是否可以通过在单个事务中使用COPY命令来完成此操作?因此,如果出现问题,我可以回滚所有内容。
答案 0 :(得分:2)
是的。在您的SQL中开始一个事务,并在所有COPY语句之后提交它。如果任何COPY失败,则整个事务将回滚。例如:
BEGIN;
COPY 'FILEPATHINSIDESERVER' TO YOUR.TABLE;
COPY '...' TO ... ;
COPY '...' TO ... ;
COPY '...' TO ... ;
COMMIT;