Просто трябваше да направя точно това нещо, така че реших да публикувам рецептата тук. Това предполага, че и двете бази данни са на един и същ сървър.
Първо, копирайте таблицата от стария db в новия db. В командния ред:
pg_dump -U postgres -t <old_table> <old_database> | psql -U postgres -d <new_database>
След това дайте разрешения на копираната таблица на потребителя на новата база данни. Влезте в psql:
psql -U postgres -d <new_database>
ALTER TABLE <old_table> OWNER TO <new_user>;
\q
В този момент вашата копирана таблица в новата ви база данни все още има името <old_table>
от старата ви база данни. Ако приемем, че искате да преместите данните някъде другаде, кажете на <new_table>
, можете просто да използвате обикновени SQL заявки:
INSERT INTO <new_table> (field1, field2, field3)
SELECT field1, field2, field3 from <old_table>;
Готово!