Создайте настроенную подчиненную систему postgresql - PullRequest
0 голосов
/ 10 июля 2019

Мне нужно создать ведомое устройство для целей BI, и мне нужно изменить некоторые таблицы (например, удалить все пароли или конфиденциальные данные).Моя база данных - PostgreSQL.Интересно, могу ли я сделать это на уровне базы данных или я должен сделать это программно, написав код для репликации.

1 Ответ

2 голосов
/ 10 июля 2019

Вы можете использовать логическую репликацию и иметь включенные реплики триггеры (запускающие репликацию), которые изменяют данные при их применении:

ALTER TABLE mytab DISABLE TRIGGER mytrig;
ALTER TABLE mytab ENABLE REPLICA TRIGGER mytrig;

Необходимо убедиться, что конфликты репликации не могут возникнутьэти модификации.Например, никогда не изменяйте ключевой столбец.

Конфликты репликации остановят репликацию и сломают вашу систему.

Традиционным способом решения этой проблемы является использование процесса ETL.Таким образом, вы можете использовать другую модель данных в целевой базе данных и, например, предварительно агрегировать данные, чтобы хранилище данных не становилось слишком большим и оптимизировало модель данных для аналитических запросов.

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