Мне просто нужно было сделать именно эту вещь, поэтому я решил опубликовать рецепт здесь.Это предполагает, что обе базы данных находятся на одном и том же сервере.
Сначала скопируйте таблицу из старой базы данных в новую базу данных (поскольку, очевидно, вы не можете перемещать данные между базами данных).В командной строке:
pg_dump -U postgres -t <old_table> <old_database> | psql -U postgres -d <new_database>
# Just adding extra space here so scrollbar doesn't hide the command
Далее предоставьте разрешения для скопированной таблицы пользователю новой базы данных.Войдите в psql:
psql -U postgres -d <new_database>
ALTER TABLE <old_table> OWNER TO <new_user>;
\q
Наконец, скопируйте данные из старой таблицы в новую таблицу.Войдите в систему как новый пользователь и затем:
INSERT INTO <new_table> (field1, field2, field3)
SELECT field1, field2, field3 from <old_table>;
Готово!