Пройти итератором по всем таблицам базы в цикле FOR

Необходимо написать хранимую процедуру для копирования данных из одной базы в другую. Как можно пройтись по всем таблицам базы в цикле FOR? Существует ли в SQL какой-то аналог итератора?

FOR table_iterator IN main_schema LOOP
   ...
END LOOP;

Спасибо


Ответы (1 шт):

Автор решения: Aziz Umarov

Попробуйте такой запрос

SELECT
*
FROM
   pg_catalog.pg_tables
WHERE
   schemaname != 'pg_catalog'
   AND schemaname != 'information_schema';

Вы получите название таблиц. Далее динамический SQL вы получите данные по каждой таблице.

→ Ссылка