Musel jsem udělat přesně tohle, tak jsem si řekl, že sem dám recept. To předpokládá, že obě databáze jsou na stejném serveru.
Nejprve zkopírujte tabulku ze staré databáze do nové databáze. Na příkazovém řádku:
pg_dump -U postgres -t <old_table> <old_database> | psql -U postgres -d <new_database>
Dále udělte oprávnění ke zkopírované tabulce uživateli nové databáze. Přihlaste se do psql:
psql -U postgres -d <new_database>
ALTER TABLE <old_table> OWNER TO <new_user>;
\q
V tomto okamžiku má vaše zkopírovaná tabulka ve vaší nové databázi stále název <old_table>
z vaší staré databáze. Za předpokladu, že chcete data přesunout někam jinam, řekněte <new_table>
, stačí použít běžné SQL dotazy:
INSERT INTO <new_table> (field1, field2, field3)
SELECT field1, field2, field3 from <old_table>;
Hotovo!