sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur återställer jag PostgreSQL-dumpfilen till Postgres-databaser?

Du nämnde inte hur din säkerhetskopia gjordes, så det allmänna svaret är:Vanligtvis med psql verktyg.

Beroende på vad pg_dump instruerades att dumpa, kan SQL-filen ha olika uppsättningar SQL-kommandon. Om du till exempel instruerar pg_dump att dumpa en databas med --clean och --schema-only , du kan inte förvänta dig att kunna återställa databasen från den dumpen eftersom det inte kommer att finnas några SQL-kommandon för COPYing (eller INSERTing om --inserts används ) de faktiska uppgifterna i tabellerna. En sådan dump kommer bara att innehålla DDL SQL-kommandon och kommer att kunna återskapa schemat men inte själva data.

En typisk SQL-dump återställs med psql :

psql (connection options here) database  < yourbackup.sql

eller alternativt från en psql session,

psql (connection options here) database
database=# \i /path/to/yourbackup.sql

I fallet med säkerhetskopior gjorda med pg_dump -Fc ("anpassat format"), som inte är en vanlig SQL-fil utan en komprimerad fil, måste du använda pg_restore verktyg.

Om du arbetar med en unix-liknande, prova detta:

man psql
man pg_dump
man pg_restore

annars, ta en titt på html-dokumenten. Lycka till!



  1. pgpredict – Predictive analytics i PostgreSQL

  2. skillnad mellan NLS_NCHAR_CHARACTERSET och NLS_CHARACTERSET för Oracle

  3. Hur återställer man löpande SUM efter att den når ett tröskelvärde?

  4. Tips för att lagra dina TimescaleDB-säkerhetskopier i molnet