Solo tenía que hacer exactamente esto, así que pensé en publicar la receta aquí. Esto supone que ambas bases de datos están en el mismo servidor.
Primero, copie la tabla de la base de datos anterior a la base de datos nueva. En la línea de comando:
pg_dump -U postgres -t <old_table> <old_database> | psql -U postgres -d <new_database>
A continuación, conceda permisos de la tabla copiada al usuario de la nueva base de datos. Inicie sesión en psql:
psql -U postgres -d <new_database>
ALTER TABLE <old_table> OWNER TO <new_user>;
\q
En este punto, su tabla copiada en su nueva base de datos todavía tiene el nombre <old_table>
de su antigua base de datos. Suponiendo que desea mover los datos a otro lugar, diga a <new_table>
, solo puede usar consultas SQL normales:
INSERT INTO <new_table> (field1, field2, field3)
SELECT field1, field2, field3 from <old_table>;
¡Listo!