2010-01-13 9 views
2

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

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

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

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

ответ

3

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

pg_dump -Fc db1 | pg_restore -d db2 -c 

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

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

+0

Спасибо, это прекрасно. :) – PKKid

6

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

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