PostgreSQL COPY, возможно ли записывать данные в несколько таблиц одновременно? - PullRequest
0 голосов
/ 14 марта 2019

У меня есть набор данных, который должен быть загружен в несколько таблиц PostgreSQL.Возможно ли это сделать, используя команду COPY внутри одной транзакции?Так что я могу откатить все, если что-то пойдет не так.

1 Ответ

2 голосов
/ 14 марта 2019

Да. Начните транзакцию внутри вашего SQL и зафиксируйте ее после всех операторов COPY. Если любая из копий не удалась, вся транзакция будет откатана. Например:

BEGIN;

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

COMMIT;
...