Мне нужно периодически копировать данные из базы данных TMP в удаленную базу данных PROD с некоторыми изменениями данных в столбцах. Когда я использую расширение postgres_fdw из базы данных PROD (с отображением внешней схемы), процесс копирования миллиона записей длится 6 минут.
insert into prod.foreign_schema.foreign_table
(select * from tmp.public.table limit 1000000);
Однако, когда я использую dblink для копирования той же таблицы из база данных PROD (SQL работает на базе данных PROD, а не на TEMP), процесс длится 20 секунд.
insert into prod.public.table
(select * from dblink('host=192.1... port=5432 dbname=... user=… password=…. connect_timeout=2', 'select * from tmp.production.table limit 1000000') as tab (id integer…..)
);
Как можно оптимизировать и сократить процесс копирования данных из базы данных TEMP ?
Я должен выполнить SQL команды в базе данных TMP. Базы данных TMP и PROD находятся в этих же версиях (10).