Bereik

Grow

Manage

Automate

Bereik

Grow

Manage

Automate

Tech Tips: Hoe maak ik een back-up van en herstel ik de Postgres-database?

Karan Singh

19 jun 2013

E-mail

1 min read

Tech Tips: Hoe maak ik een back-up van en herstel ik de Postgres-database?

Karan Singh

19 jun 2013

E-mail

1 min read

Tech Tips: Hoe maak ik een back-up van en herstel ik de Postgres-database?

Dit is een 'how to'-document dat alleen voorbeeldopdrachten geeft; hoe het daadwerkelijk wordt gedaan, hangt volledig af van de persoon die het uitvoert en specifieke gebruikssituaties.

Ten eerste een disclaimer. Deze post biedt een algemene gids over hoe een Postgres Database Tabel te back-uppen. De verstrekte voorbeelden verwijzen niet naar een specifieke tabel of database. Als je probeert een specifieke tabel te back-uppen, moet je ook tabellen back-uppen die naar de oorspronkelijke tabellen verwijzen. Aangezien Postgres een relationele database is, zullen er altijd verwijzingen tussen een aantal tabellen zijn.




Dit is een ‘hoe te’ document dat alleen voorbeeldopdrachten geeft; hoe het daadwerkelijk moet gebeuren, hangt volledig af van de persoon die het doet en specifieke gebruikssituaties. Bewaar altijd de integriteit van de gegevens die je probeert te back-uppen. Het back-uppen van de gehele database is altijd een veilige optie, maar bij het back-uppen van specifieke tabellen moet men voorzichtig zijn.

SQL-dump/pg_dump:

Het idee achter de SQL-dumpmethode is om een tekstbestand te genereren met SQL-opdrachten die, wanneer deze aan de server worden teruggegeven, de database in dezelfde staat zullen recreëren als deze was op het moment van de dump. PostgreSQL biedt het hulpprogramma pg_dump voor dit doel.




pg_dump is een effectief en uitgebreid hulpmiddel om Postgres-databaseback-ups te maken en deze back-ups te gebruiken om de Postgres-database te herstellen. Het is echter niet beperkt tot alleen de database. We kunnen pg_dump gebruiken om tabellen te back-uppen en deze vervolgens te gebruiken om individuele tabellen ook te herstellen. Met pg_dump kunt u de lokale database back-uppen en deze herstellen op een externe database.

Hoe een Postgres Database te Backupen:

Back-up van een Postgres-tabel:

$ /opt/msys/3rdParty/bin/pg_dump–table maincontrol.orgs -U ecuser pe -f ms_table.sql

Het bovenstaande commando is een voorbeeld van hoe je een specifieke tabel van een Postgres-database kunt back-uppen. Met het bovenstaande commando maken we een back-up van tabel ‘orgs’ in schema ‘maincontrol’ van database ‘pe’ naar het bestand ms_table.sql. Om een specifieke tabel te back-uppen, gebruik je de –table TABLENAME optie in het pg_dump commando. Als er dezelfde tabelnamen in verschillende schema's zijn, gebruik dan de –schema SCHEMANAME optie.

  1. Back-up van een specifieke Postgres-database:

    $ /opt/msys/3rdParty/bin/pg_dump -U ecuser pe -f pe_dump.sql

    Dit is een voorbeeld van het back-uppen van een specifieke Postgres-database. Met het bovenstaande commando maken we een back-up van de database voor Message Central ‘pe’ naar het bestand pe_dump.sql. Het back-upbestand bevat create table, alter table en copy commando's voor alle tabellen in de ‘pe’ database.

  2. Back-up van alle Postgres-databases:

    $ /opt/msys/3rdParty/bin/pg_dumpall -U ecuser> all_dump.sql

    Je kunt een back-up maken van alle databases met behulp van het pg_dumpall commando. Het bovenstaande commando zal een dump maken van alle databases die zich bevinden op de Postgres-instantie die draait op een bepaalde server. Om alle databases te vermelden die zijn geback-upt, gebruik je het commando grep “^[\]connect” all.sql.

Back-up van een Postgres-tabel:

$ /opt/msys/3rdParty/bin/pg_dump–table maincontrol.orgs -U ecuser pe -f ms_table.sql

Het bovenstaande commando is een voorbeeld van hoe je een specifieke tabel van een Postgres-database kunt back-uppen. Met het bovenstaande commando maken we een back-up van tabel ‘orgs’ in schema ‘maincontrol’ van database ‘pe’ naar het bestand ms_table.sql. Om een specifieke tabel te back-uppen, gebruik je de –table TABLENAME optie in het pg_dump commando. Als er dezelfde tabelnamen in verschillende schema's zijn, gebruik dan de –schema SCHEMANAME optie.

  1. Back-up van een specifieke Postgres-database:

    $ /opt/msys/3rdParty/bin/pg_dump -U ecuser pe -f pe_dump.sql

    Dit is een voorbeeld van het back-uppen van een specifieke Postgres-database. Met het bovenstaande commando maken we een back-up van de database voor Message Central ‘pe’ naar het bestand pe_dump.sql. Het back-upbestand bevat create table, alter table en copy commando's voor alle tabellen in de ‘pe’ database.

  2. Back-up van alle Postgres-databases:

    $ /opt/msys/3rdParty/bin/pg_dumpall -U ecuser> all_dump.sql

    Je kunt een back-up maken van alle databases met behulp van het pg_dumpall commando. Het bovenstaande commando zal een dump maken van alle databases die zich bevinden op de Postgres-instantie die draait op een bepaalde server. Om alle databases te vermelden die zijn geback-upt, gebruik je het commando grep “^[\]connect” all.sql.

Back-up van een Postgres-tabel:

$ /opt/msys/3rdParty/bin/pg_dump–table maincontrol.orgs -U ecuser pe -f ms_table.sql

Het bovenstaande commando is een voorbeeld van hoe je een specifieke tabel van een Postgres-database kunt back-uppen. Met het bovenstaande commando maken we een back-up van tabel ‘orgs’ in schema ‘maincontrol’ van database ‘pe’ naar het bestand ms_table.sql. Om een specifieke tabel te back-uppen, gebruik je de –table TABLENAME optie in het pg_dump commando. Als er dezelfde tabelnamen in verschillende schema's zijn, gebruik dan de –schema SCHEMANAME optie.

  1. Back-up van een specifieke Postgres-database:

    $ /opt/msys/3rdParty/bin/pg_dump -U ecuser pe -f pe_dump.sql

    Dit is een voorbeeld van het back-uppen van een specifieke Postgres-database. Met het bovenstaande commando maken we een back-up van de database voor Message Central ‘pe’ naar het bestand pe_dump.sql. Het back-upbestand bevat create table, alter table en copy commando's voor alle tabellen in de ‘pe’ database.

  2. Back-up van alle Postgres-databases:

    $ /opt/msys/3rdParty/bin/pg_dumpall -U ecuser> all_dump.sql

    Je kunt een back-up maken van alle databases met behulp van het pg_dumpall commando. Het bovenstaande commando zal een dump maken van alle databases die zich bevinden op de Postgres-instantie die draait op een bepaalde server. Om alle databases te vermelden die zijn geback-upt, gebruik je het commando grep “^[\]connect” all.sql.

Hoe een Postgres Database te herstellen

  1. Herstel een Postgres-tabel :

    $ /opt/msys/3rdParty/bin/psql -U ecuser -f ms_table.sql pe

    Het bovenstaande commando zal de tabel installeren die werd geback-upt in het ms_table.sql bestand naar de ‘pe’ database. Zorg ervoor dat deze tabel nog niet bestaat, anders krijg je een aantal 'bestaat al' fouten te zien. Dit commando maakt de tabel aan en exporteert alle data naar de nieuw aangemaakte tabel.

  2. Herstel een Postgres-database :

    $ /opt/msys/3rdParty/bin/psql -U ecuser -d pe -f pe_dump.sql

    Vergelijkbaar met het herstellen van de tabel, kunnen we het bovenstaande commando gebruiken om de volledige database te herstellen. Hier herstellen we de ‘pe’ database met behulp van het bestand pe_dump.sql, dat we hebben aangemaakt tijdens het back-uppen van de database in de Back-up sectie hierboven.

  3. Herstel alle databases :

    $ /opt/msys/3rdParty/bin/psql -u ecuser -f all_dump.sql

    Herstel alle databases met behulp van het bovenstaande commando. ‘all_dump.sql’ was het bestand dat werd aangemaakt met pg_dumpall. Het bovenstaande commando geeft ons alle Postgres-databases in exact dezelfde staat als ze waren toen er een dump werd gemaakt van de originele databaseserver.

Laten we je in contact brengen met een Bird-expert.
Bekijk de volledige kracht van de Bird in 30 minuten.

Door te verzenden, ga je ermee akkoord dat Bird contact met je mag opnemen over onze producten en diensten.

U kunt zich op elk moment afmelden. Zie Bird's Privacyverklaring voor details over gegevensverwerking.

Nieuwsbrief

Blijf op de hoogte met Bird via wekelijkse updates in je inbox.

Laten we je in contact brengen met een Bird-expert.
Bekijk de volledige kracht van de Bird in 30 minuten.

Door te verzenden, ga je ermee akkoord dat Bird contact met je mag opnemen over onze producten en diensten.

U kunt zich op elk moment afmelden. Zie Bird's Privacyverklaring voor details over gegevensverwerking.

Nieuwsbrief

Blijf op de hoogte met Bird via wekelijkse updates in je inbox.

Laten we je in contact brengen met een Bird-expert.
Bekijk de volledige kracht van de Bird in 30 minuten.

Door te verzenden, ga je ermee akkoord dat Bird contact met je mag opnemen over onze producten en diensten.

U kunt zich op elk moment afmelden. Zie Bird's Privacyverklaring voor details over gegevensverwerking.

R

Bereik

G

Grow

M

Manage

A

Automate

Nieuwsbrief

Blijf op de hoogte met Bird via wekelijkse updates in je inbox.