Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个必须加载到多个 PostgreSQL 表中的批量数据集。是否可以通过在单个事务中使用 COPY 命令来完成此操作?因此,如果出现问题,我可以回滚所有内容。
是的。在您的 SQL 中开始一个事务并在所有 COPY 语句之后提交它。如果任何 COPY 失败,整个事务将被回滚。例如:
BEGIN; COPY 'FILEPATHINSIDESERVER' TO YOUR.TABLE; COPY '...' TO ... ; COPY '...' TO ... ; COPY '...' TO ... ; COMMIT;