sql >> Database teknologi >  >> RDS >> PostgreSQL

Overfør data mellem databaser med PostgreSQL

Jeg var bare nødt til at gøre præcis dette, så jeg tænkte, at jeg ville poste opskriften her. Dette forudsætter, at begge databaser er på samme server.

Først skal du kopiere tabellen fra den gamle db til den nye db. På kommandolinjen:

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

Giv derefter tilladelser til den kopierede tabel til brugeren af ​​den nye database. Log på psql:

psql -U postgres -d <new_database>

ALTER TABLE <old_table> OWNER TO <new_user>;

\q

På dette tidspunkt har din kopierede tabel i din nye database stadig navnet <old_table> fra din gamle database. Hvis du antager, at du vil flytte dataene et andet sted hen, så sig til <new_table> , kan du bare bruge almindelige SQL-forespørgsler:

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

Færdig!



  1. SQL Server Transaction Log, Del 2:Log Architecture

  2. Ingen unikke eller ekskluderende begrænsninger, der matcher ON CONFLICT

  3. Oracle:Konverter valutabeløb i ord ved hjælp af PL/SQL

  4. Hvorfor er det hurtigere at udføre lagrede procedurer end SQL-forespørgsler fra et script?