Hvordan bruke PG_Dump på PostGressql

Hvordan bruke PG_Dump på PostGressql

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:

  • Et riktig konfigurert Linux-system. Lær mer om å installere Ubuntu.
  • Den siste versjonen av PostgreSQL installert og konfigurert. Ta en titt på å installere og konfigurere PostgreSQL på Ubuntu.

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 > .SQL

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.