Копирование таблиц из нескольких экземпляров RDS postgres в один postgres rds

#python #postgresql #csv #pg-dump #debezium

#python #postgresql #csv #pg-дамп #debezium

Вопрос:

У меня есть 8 экземпляров rds postgres, каждый из которых поддерживает базы данных для 8 имеющихся у нас решений.

Я хотел бы перенести все данные из 8 экземпляров rds postgres в один экземпляр rds postgres.

Это необходимо для аналитики

Вот моя работа над этим до сих пор:

  1. Пытался загрузить каждую таблицу в csv и загрузить их в целевой экземпляр rds. Команда копирования завершается ошибкой для таблицы размером 50 ГБ. Я не могу перенести все данные за один раз, а затем настроить инкрементную загрузку. Сбой при полной загрузке таблицы для больших таблиц.(Здесь тоже используется python)

  2. Думал использовать DMS, но рекомендуется, чтобы для миграции с rds-postgres на rds-postgres они рекомендовали использовать pgdump и pgrestore вместо DMS. Но для pgdump и pgrestore мне нужно сохранить пароль, а моя организация не позволяет мне этого делать

  3. Использование debezium, но это длительный процесс, и, честно говоря, мне нужно, чтобы это заработало очень скоро.

Идеальная ситуация — это когда все 8 баз данных в 8 экземплярах rds реплицируются в одном экземпляре rds postgres. И это должна быть непрерывная репликация. На данный момент я в порядке для пакетной обработки (данные могут устаревать на день). Но если потоковая передача (пример — debezium) — единственный способ, тогда я тоже в порядке..

Любые мысли по этому поводу, пожалуйста?

Комментарии:

1. Загрузить CSV — это путь. Найдите и исправьте ошибку.

2. хорошо. В этом случае для таблицы объемом 50 ГБ я использую команду copy для извлечения данных в csv, и через некоторое время она выдает ошибку с сообщением «оператор отмены из-за конфликта с ПОДРОБНОСТЯМИ восстановления: пользовательский запрос мог потребоваться для просмотра версий строк, которые необходимо удалить».

3. Это совершенно другая проблема: вы получаете конфликты репликации. Установить max_standby_streaming_delay = -1 в режим ожидания.

4. хорошо.. так можно ли использовать copy для загрузки таблицы размером 50 ГБ и с каждым увеличением?

5. Конечно, это инструмент выбора для этого. pg_dump используется COPY для этого.