Мне было поручено написать процесс ETL (извлечение, преобразование, загрузка) между базой данных PostgreSQL 9.1, размещенной на Heroku (мы можем назвать ее Master), и другой копией данных, предназначенной для приложения, которая будет находиться в другом В Heroku (Cedar Stack) размещена база данных PostgreSQL. Наш основной стек разработки — Python 2.7.2, Django 1.3.3 и PostgreSQL 9.1. Как многие из вас, возможно, знают, файловая система в Heroku ограничена тем, что вы можете делать, и я не уверен, что полностью понимаю правила для эфемерной файловой системы.
Итак, я пытаюсь выяснить, какие у меня есть варианты. Очевидным является то, что я могу просто написать команду управления Django и иметь два отдельных соединения с базой данных (и целевой и исходный набор моделей) и перекачивать данные таким образом и обрабатывать ETL в процессе. В то время как эффект, мои первоначальные тесты показывают, что это очень медленный подход. Очевидно, что более быстрым подходом было бы использование функции PostreSQL COPY. Но обычно, если бы я делал это, я мог бы записать это в файл, а затем использовать psql, чтобы извлечь его. Кто-нибудь делал что-то подобное между двумя выделенными базами данных PostgreSQL на Heroku? Любые советы или подсказки будут оценены.