Копировать данные таблицы из одной БД в другую - PullRequest
2 голосов
/ 14 января 2010

Для разработки мне часто приходится копировать информацию из одной таблицы в другую. Мне просто любопытно, какие самые простые решения сделать это для Postgres. У меня есть PGAdminIII, но похоже, что он действительно поддерживает только длительное резервное копирование / восстановление.

Есть ли где-нибудь скрипт на python или bash или что-то, что я могу просто дать ему основную информацию?

  • Вот DB1
  • Вот DB2
  • Копировать таблицы ...
  • Go!

Я считаю, что SQLYog сделал это для MySQL в Win32, но сейчас я работаю на OSX и использую Postgres.

Ответы [ 2 ]

7 голосов
/ 14 января 2010

Kettle, aka pentaho, интеграция данных может сделать это для вас. http://sourceforge.net/projects/pentaho/files/Data%20Integration/

  1. Скачать чайник и распаковать.
  2. Убедитесь, что у вас есть среда выполнения java (1.5 и 1.6 будут работать для стабильной версии 3.2).
  3. Запустить ложку.ш
  4. Создать новую работу (файл / новая / работа)
  5. Определение исходных и целевых подключений (нажмите кнопку просмотра над деревом, дважды щелкните узел соединений с базой данных, чтобы открыть мастер соединений, или выполните меню / мастер / создание мастера соединений БД)
  6. Мастер меню / мастера / копирования таблиц
  7. следуйте указаниям мастера
  8. Запуск задания (кнопка воспроизведения на панели инструментов)
3 голосов
/ 14 января 2010

Если вы просто перемещаетесь между двумя базами данных PostgreSQL, хорошим способом будет просто использовать pg_dump и pg_restore в конвейере (или pg_dump и psql). В основном

pg_dump -Fc db1 | pg_restore -d db2 -c

(отрегулируйте переключатели, необходимые для вашей среды, см. Справочные страницы)

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

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