0

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

4

1 回答 1

2

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

BEGIN;

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

COMMIT;
于 2019-03-14T20:23:38.890 回答