sql >> Database >  >> RDS >> PostgreSQL

Breng gegevens over tussen databases met PostgreSQL

Ik moest gewoon precies dit doen, dus ik dacht ik post het recept hier. Dit veronderstelt dat beide databases zich op dezelfde server bevinden.

Kopieer eerst de tabel van de oude db naar de nieuwe db. Op de commandoregel:

pg_dump -U postgres -t <old_table> <old_database> | psql -U postgres -d <new_database>

Verleen vervolgens machtigingen van de gekopieerde tabel aan de gebruiker van de nieuwe database. Log in op psql:

psql -U postgres -d <new_database>

ALTER TABLE <old_table> OWNER TO <new_user>;

\q

Op dit moment heeft uw gekopieerde tabel in uw nieuwe database nog steeds de naam <old_table> uit uw oude database. Ervan uitgaande dat u de gegevens ergens anders naartoe wilt verplaatsen, zegt u tegen <new_table> , kunt u gewone SQL-query's gebruiken:

INSERT INTO <new_table> (field1, field2, field3) 
SELECT field1, field2, field3 from <old_table>;

Klaar!



  1. Bevriezen beheren in PostgreSQL

  2. Updates voor PostgreSQL-testtools met benchmarkarchief

  3. PLSQL-codeprestaties afstemmen of testen in Oracle D2k-formulieren

  4. MAX() Functie in PostgreSQL