Добавить несколько (но не все) таблицы в публикацию PostgreSQL, если не добавлено - PullRequest
0 голосов
/ 26 июня 2019

Я пытаюсь настроить публикацию в базе данных PostgreSQL 10 для логической репликации.

База данных используется для веб-сайта Django, и все таблицы в настоящее время находятся в одной схеме - public. Я планирую обновлять структуру базы данных с помощью миграций Django, поэтому мне нужно исключить некоторые таблицы из публикации PostgreSQL, а именно все, которые начинаются с django.

Я могу получить полный список таблиц, которые мне нужно реплицировать, используя запрос

SELECT tablename FROM pg_catalog.pg_tables 
WHERE schemaname='public' and tablename not like 'django%';

Таблицы добавляются в публикацию с использованием запроса

ALTER PUBLICATION my_publication ADD TABLE table0, table1;

Как я могу перенаправить вывод моего SELECT запроса на указанный выше ALTER PUBLICATION запрос?

Было бы также неплохо, если бы уже добавленные таблицы были пропущены вместо прерывания выполнения всего запроса ALTER PUBLICATION.

В настоящий момент я думаю, что мне придется использовать PL / pgSQL - процедурный язык SQL . Но, может быть, есть лучший / более простой способ редактировать публикацию, используя только запросы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...