Po prostu musiałem zrobić dokładnie to samo, więc pomyślałem, że opublikuję tutaj przepis. Zakłada się, że obie bazy danych znajdują się na tym samym serwerze.
Najpierw skopiuj tabelę ze starej bazy danych do nowej bazy danych. W linii poleceń:
pg_dump -U postgres -t <old_table> <old_database> | psql -U postgres -d <new_database>
Następnie nadaj uprawnienia skopiowanej tabeli użytkownikowi nowej bazy danych. Zaloguj się do psql:
psql -U postgres -d <new_database>
ALTER TABLE <old_table> OWNER TO <new_user>;
\q
W tym momencie skopiowana tabela w nowej bazie danych nadal ma nazwę
, możesz po prostu używać zwykłych zapytań SQL:
INSERT INTO <new_table> (field1, field2, field3)
SELECT field1, field2, field3 from <old_table>;
Gotowe!