#python #postgresql #csv #pg-dump #debezium
#python #postgresql #csv #pg-дамп #debezium
Вопрос:
У меня есть 8 экземпляров rds postgres, каждый из которых поддерживает базы данных для 8 имеющихся у нас решений.
Я хотел бы перенести все данные из 8 экземпляров rds postgres в один экземпляр rds postgres.
Это необходимо для аналитики
Вот моя работа над этим до сих пор:
-
Пытался загрузить каждую таблицу в csv и загрузить их в целевой экземпляр rds. Команда копирования завершается ошибкой для таблицы размером 50 ГБ. Я не могу перенести все данные за один раз, а затем настроить инкрементную загрузку. Сбой при полной загрузке таблицы для больших таблиц.(Здесь тоже используется python)
-
Думал использовать DMS, но рекомендуется, чтобы для миграции с rds-postgres на rds-postgres они рекомендовали использовать pgdump и pgrestore вместо DMS. Но для pgdump и pgrestore мне нужно сохранить пароль, а моя организация не позволяет мне этого делать
-
Использование 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
для этого.