PostgreSql kommer med PG_DUMP, Et innebygd verktøy for å lage sikkerhetskopier av databasene. Det lar administratorer lage sikkerhetskopier på forskjellige måter: full, inkrementelle eller kontinuerlige sikkerhetskopier (lokalt/eksternt).
I denne guiden vil vi vise frem ved å bruke PG_DUMP For å lage sikkerhetskopier av våre PostgreSQL -databaser.
Forutsetninger
For å utføre trinnene som er demonstrert i denne guiden, trenger du følgende komponenter:
I tillegg vil vi også bruke en prøve PostgreSQL -database. For brukervennlighet vil jeg bruke Phppgadmin, en webfront-end for PostgreSQL.
Bruker PG_Dump
De PG_DUMP Kommandoeksport en database i enten en skriptfil (som inneholder SQL -kommandoer for å rekonstruere databasen) eller en arkivfil. Det primære målet med dette verktøyet er å sikkerhetskopiere databaser. Mens du bruker PG_DUMP, Databasen vil fortsatt være tilgjengelig for leser og skriver.
Noter det PG_DUMP fungerer bare med en enkelt database.
Hvis databasen ble trukket ut som et SQL-skript, kan du importere databasen til en hvilken som helst annen SQL-basert database. Imidlertid, hvis den ble trukket ut som en arkivfil, kan den bare gjenopprettes ved hjelp av PG_RESTORE verktøy. En kul ting med PG_RESTORE er at du kan definere hvilken del av databasen du vil gjenopprette.
PG_DUMP Kommandostruktur
Den primære kommandostrukturen til PG_DUMP Ser slik ut:
1 | $ pg_dump |
Eksporterer en database (som SQL -skript)
Som nevnt tidligere, PG_DUMP kan eksportere databasen i forskjellige formater. For å eksportere databasen til en SQL -fil, bruk følgende kommando:
1 | $ pg_dump |
I dette eksemplet eksporterer vi databasen dvdrental til dvdrental-backup.SQL:
1 | $ pg_dump -u postgres dvdrental> dvdrental -backup.SQL |
Merk at eksportoperasjonen vil mislykkes hvis brukeren du kjører PG_DUMP har ikke tillatelse til å lese databasen. Her, fordi Postgres er superbrukeren av PostgreSQL, kommandoen ble utført med hell.
Eksporterer en database (som et tjærearkiv)
Deretter eksporterer vi databasen som et arkiv. Følgende kommando vil eksportere den i et tjæreformat:
1 | $ pg_dump -u postgres -f c dvdrental> dvdrental.tjære |
Eksporterer en database (som et komprimert arkiv)
Hvis du eksporterer en stor database, vil komprimering bidra til å redusere filstørrelsen. I det følgende eksempel vil den eksporterte databasen bli komprimert ved hjelp av GZIP -verktøyet:
1 | $ PG_DUMP -U Postgres DVDRINAL | GZIP> dvdrental.gz |
Alternativt kan vi bruke den innebygde komprimeringen av PG_DUMP å komprimere utgangen:
1 | $ PG_DUMP -U Postgres -Compress = 9 DvDrental> Dvdrental.tjære |
Eksporterer en database (katalogformat)
I stedet for å eksportere databasen til en enkelt fil, PG_DUMP tilbyr muligheten til å dumpe den i en katalog.
I det følgende eksempel eksporterer vi databasen dvdrental til katalogen dvdrental-backup:
1 | $ pg_dump -u postgres -f d dvdrental -f dvdrental -backup/ |
Eksporterer alle databaser
Hvis du trenger å lage en fullstendig sikkerhetskopi av PostgreSql databaseserver, så kan du bruke PG_DUMPALL.
1 | $ pg_dumpall -f full_backup.SQL |
Sikkerhetskopien vil omfatte alt: Roller, skjemaer og data. derimot, PG_DUMPALL gjør at spesifikke komponenter kan eksporteres.
Følgende kommando vil bare eksportere rollene:
1 | $ PG_DUMPALL -Roles -Only -U Postgres> All_DB_roles.SQL |
Følgende kommando vil bare eksportere skjemaer:
1 | $ PG_DUMPALL - -SCHEMA -ONLY -U Postgres> All_DB_schema.SQL |
Følgende kommando vil bare eksportere tabellområdet definisjoner:
1 | $ PG_DUMPALL -Tablespaces -Only -U Postgres> All_DB_TableSpaces.SQL |
Siste tanker
I denne guiden utforsket vi forskjellige måter å bruke PG_DUMP Kommando for å eksportere databaser fra PostgreSQL. Vi eksporterte en eksempeldatabase som et SQL -skript og arkiv. Ved hjelp av PG_Dumpall viste vi også å eksportere forskjellige komponenter i alle databasene i PostgreSQL.
PostgreSQL er en kraftig databasemotor med mange funksjonaliteter. PostgreSQL-underkategorien inneholder mange guider. Lær mer om å oppføre brukere, slippe brukere, uklar søk osv.