EngelsFransSpaans

OnWorks-favicon

pg_dump - Online in de cloud

Voer pg_dump uit in de gratis hostingprovider van OnWorks via Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

Dit is de opdracht pg_dump die kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

PROGRAMMA:

NAAM


pg_dump - extraheer een PostgreSQL-database in een scriptbestand of ander archiefbestand

KORTE INHOUD


pg_dump [verbindingsoptie...] [optie...] [dbnaam]

PRODUCTBESCHRIJVING


pg_dump is een hulpprogramma voor het maken van back-ups van een PostgreSQL-database. Het maakt consistente back-ups
zelfs als de database gelijktijdig wordt gebruikt. pg_dump blokkeert geen andere gebruikers
toegang krijgen tot de database (lezers of schrijvers).

pg_dump dumpt slechts één database. Om een ​​back-up te maken van globale objecten die voor iedereen gemeenschappelijk zijn
databases in een cluster, zoals rollen en tabelruimten, gebruiken pg_dumpall(1).

Dumps kunnen worden uitgevoerd in script- of archiefbestandsformaten. Scriptdumps zijn bestanden met platte tekst
met de SQL-opdrachten die nodig zijn om de database te reconstrueren naar de staat waarin deze zich bevond
de tijd die werd bespaard. Om een ​​dergelijk script te herstellen, voert u het in naar psql(1). Scriptbestanden kunnen
worden gebruikt om de database te reconstrueren, zelfs op andere machines en andere architecturen; met
enkele wijzigingen, zelfs op andere SQL-databaseproducten.

Er moeten alternatieve archiefbestandsformaten worden gebruikt pg_herstellen(1) om de
database. Ze zorgen ervoor dat pg_restore selectief kan zijn over wat wordt hersteld, of zelfs de volgorde ervan kan wijzigen
de items voordat ze werden hersteld. De archiefbestandsformaten zijn ontworpen om draagbaar te zijn
over architecturen heen.

Bij gebruik met een van de archiefbestandsformaten en gecombineerd met pg_restore, pg_dump
biedt een flexibel archiverings- en overdrachtsmechanisme. pg_dump kan worden gebruikt om een ​​back-up te maken van een
hele database, dan kan pg_restore worden gebruikt om het archief te onderzoeken en/of te selecteren welke
delen van de database moeten worden hersteld. De meest flexibele uitvoerbestandsformaten zijn de
“aangepast” formaat (-Fc) en het “directory”-formaat (-Vd). Ze maken selectie mogelijk
het opnieuw ordenen van alle gearchiveerde items, ondersteunt parallelle restauratie en wordt gecomprimeerd door
standaard. Het “directory”-formaat is het enige formaat dat parallelle dumps ondersteunt.

Terwijl u pg_dump uitvoert, moet u de uitvoer onderzoeken op eventuele waarschuwingen (afgedrukt op standaard
fout), vooral in het licht van de onderstaande beperkingen.

OPTIES


De volgende opdrachtregelopties bepalen de inhoud en het formaat van de uitvoer.

dbnaam
Specificeert de naam van de database die moet worden gedumpt. Als dit niet is gespecificeerd, wordt de
variabele omgeving PGDATABASE is gebruikt. Als dat niet is ingesteld, wordt de gebruikersnaam opgegeven
voor de verbinding wordt gebruikt.

-a
--alleen gegevens
Dump alleen de gegevens, niet het schema (gegevensdefinities). Tabelgegevens, grote objecten en
reekswaarden worden gedumpt.

Deze optie is vergelijkbaar met, maar om historische redenen niet identiek aan, specificeren
--sectie=gegevens.

-b
--blobben
Voeg grote voorwerpen toe aan de dump. Dit is het standaardgedrag, behalve wanneer --schema,
--tafelof --schema-alleen is gespecificeerd, dus de -b schakelaar is alleen nuttig om groot toe te voegen
maakt bezwaar tegen selectieve dumps.

-c
--schoon
Voer opdrachten uit om databaseobjecten op te schonen (neerzetten) voordat de opdrachten worden uitgevoerd
ze creëren. (Tenzij --als-bestaat is ook opgegeven, herstel kan er enkele genereren
onschadelijke foutmeldingen als er geen objecten aanwezig waren in de doeldatabase.)

Deze optie is alleen zinvol voor het platte-tekstformaat. Voor de archiefformaten kunt u
kunt de optie opgeven wanneer u belt pg_herstellen.

-C
--creëren
Begin de uitvoer met een opdracht om de database zelf te maken en opnieuw verbinding te maken met de
aangemaakte databank. (Met een script van deze vorm maakt het niet uit welke database in de
doelinstallatie waarmee u verbinding maakt voordat u het script uitvoert.) If --schoon Ook
opgegeven, verwijdert het script de doeldatabase en maakt deze opnieuw voordat er opnieuw verbinding mee wordt gemaakt
het.

Deze optie is alleen zinvol voor het platte-tekstformaat. Voor de archiefformaten kunt u
kunt de optie opgeven wanneer u belt pg_herstellen.

-E codering
--codering=codering
Maak de dump in de opgegeven tekensetcodering. Standaard is dit de dump
gemaakt in de databasecodering. (Een andere manier om hetzelfde resultaat te krijgen is door de
PGCLIENTENCODERING omgevingsvariabele naar de gewenste dumpcodering.)

-f filet
--bestand=filet
Stuur uitvoer naar het opgegeven bestand. Deze parameter kan worden weggelaten voor op bestanden gebaseerde uitvoer
formaten, in welk geval de standaarduitvoer wordt gebruikt. Het moet worden opgegeven voor de directory
uitvoerformaat echter, waarbij het de doelmap specificeert in plaats van een bestand. In
in dit geval wordt de map aangemaakt door pg_dump en mag niet eerder bestaan.

-F formaat
--formaat=formaat
Selecteert het formaat van de uitvoer. formaat kan een van de volgende zijn:

p
vlakte
Voer een SQL-scriptbestand met platte tekst uit (de standaardinstelling).

c
gewoonte
Voer een archief met een aangepast formaat uit dat geschikt is voor invoer in pg_restore. Samen met
het directory-uitvoerformaat, dit is het meest flexibele uitvoerformaat daarin
maakt handmatige selectie en herschikking van gearchiveerde items mogelijk tijdens het herstellen. Dit
Het formaat is standaard ook gecomprimeerd.

d
directory
Voer een archief in mapindeling uit dat geschikt is voor invoer in pg_restore. Dit zal
maak een map met één bestand voor elke tabel en blob die wordt gedumpt, plus a
een zogenaamd inhoudsopgavebestand dat de gedumpte objecten in een
machineleesbaar formaat dat pg_restore kan lezen. Een archief in mapformaat kan
gemanipuleerd worden met standaard Unix-tools; bijvoorbeeld bestanden in een niet-gecomprimeerd
archief kan worden gecomprimeerd met de gzip-tool. Dit formaat is standaard gecomprimeerd
en ondersteunt ook parallelle dumps.

t
teer
Uitgang een teer-archiefformaat geschikt voor invoer in pg_restore. Het tar-formaat is
compatibel met het mapformaat: het extraheren van een archief in tar-formaat levert een
geldig archief in mapindeling. Het tar-formaat ondersteunt echter niet
compressie. Ook bij gebruik van het tar-formaat de relatieve volgorde van tabelgegevensitems
kan niet worden gewijzigd tijdens het herstellen.

-j banen
--banen=banen
Voer de dump parallel uit door te dumpen banen tafels tegelijk. Deze optie vermindert
het tijdstip van de dump, maar het verhoogt ook de belasting van de databaseserver. Jij kan
gebruik deze optie alleen met het directory-uitvoerformaat, omdat dit de enige uitvoer is
formaat waarin meerdere processen hun gegevens tegelijkertijd kunnen schrijven.

pg_dump wordt geopend banen + 1 verbindingen met de database, dus zorg ervoor dat uw
De instelling max_connections is hoog genoeg om alle verbindingen mogelijk te maken.

Het aanvragen van exclusieve vergrendelingen op databaseobjecten tijdens het uitvoeren van een parallelle dump zou kunnen
ervoor zorgen dat de dump mislukt. De reden is dat de pg_dump-masterprocesaanvragen worden gedeeld
vergrendelt de objecten die de werkprocessen later gaan dumpen
zorg ervoor dat niemand ze verwijdert en laat verdwijnen terwijl de dump actief is.
Als een andere klant vervolgens een exclusief slot op een tafel vraagt, zal dat slot niet zo zijn
verleend, maar wordt in de wachtrij geplaatst, wachtend op de gedeelde vergrendeling van het masterproces
uitgegeven. Bijgevolg wordt ook geen andere toegang tot de tafel verleend
zal in de wachtrij staan ​​na het exclusieve vergrendelingsverzoek. Dit omvat het proberen van het werkproces
om de tafel te dumpen. Zonder enige voorzorg zou dit een klassieke impasse zijn.
Om dit conflict te detecteren, vraagt ​​het werkproces pg_dump een andere gedeelde vergrendeling aan met behulp van
de NOWAIT-optie. Als het werkproces deze gedeelde vergrendeling niet krijgt, iemand
anders moet u in de tussentijd een exclusief slot hebben aangevraagd en dat is niet mogelijk
ga door met de dump, dus pg_dump heeft geen andere keuze dan de dump af te breken.

Voor een consistente back-up moet de databaseserver gesynchroniseerde snapshots ondersteunen,
een functie die werd geïntroduceerd in PostgreSQL 9.2. Met deze functie kunnen databaseclients
kunnen ervoor zorgen dat ze dezelfde dataset zien, ook al gebruiken ze verschillende verbindingen.
pg_dump -j gebruikt meerdere databaseverbindingen; het maakt één keer verbinding met de database
het hoofdproces en nogmaals voor elke werknemerstaak. Zonder de gesynchroniseerde
snapshot-functie, het is niet gegarandeerd dat de verschillende werknemersbanen hetzelfde zien
gegevens in elke verbinding, wat kan leiden tot een inconsistente back-up.

Als u een parallelle dump van een pre-9.2-server wilt uitvoeren, moet u ervoor zorgen dat de
database-inhoud verandert niet tussen het moment waarop de master verbinding maakt met de
database totdat de laatste werknemerstaak verbinding heeft gemaakt met de database. De gemakkelijkste manier om
Als u dit doet, stopt u alle gegevenswijzigingsprocessen (DDL en DML) die toegang krijgen tot de database
voordat u de back-up start. U moet ook de --geen-gesynchroniseerde-snapshots
parameter tijdens het hardlopen pg_dump -j tegen een pre-9.2 PostgreSQL-server.

-n schema
--schema=schema
Dump alleen overeenkomende schema's schema; dit selecteert zowel het schema zelf als al zijn schema's
bevatte voorwerpen. Als deze optie niet is opgegeven, worden alle niet-systeemschema's in de
doeldatabase wordt gedumpt. Er kunnen meerdere schema's worden geselecteerd door er meerdere te schrijven
-n schakelaars. Ook de schema parameter wordt geïnterpreteerd als een patroon volgens de
dezelfde regels die worden gebruikt door de \d-opdrachten van psql (zie Patronen), dus er kunnen ook meerdere schema's zijn
geselecteerd door jokertekens in het patroon te schrijven. Bij gebruik van jokertekens moet be
Zorg ervoor dat u indien nodig het patroon vermeldt om te voorkomen dat de schaal uitzet
jokertekens; zie VOORBEELDEN.

Note
. -n is opgegeven, doet pg_dump geen poging om andere databaseobjecten te dumpen
waarvan de geselecteerde schema('s) afhankelijk kunnen zijn. Daarom is er geen garantie
waarmee de resultaten van een dump met een specifiek schema met succes kunnen worden hersteld
zichzelf in een schone database.

Note
Niet-schemaobjecten zoals blobs worden niet gedumpt wanneer -n is gespecificeerd. Je kan toevoegen
klodders terug naar de stortplaats met de --blobben schakelaar.

-N schema
--exclude-schema=schema
Dump geen schema's die overeenkomen met de schema patroon. Het patroon wordt geïnterpreteerd
volgens dezelfde regels als voor -n. -N kan meer dan één keer worden gegeven om uit te sluiten
schema's die overeenkomen met een van de verschillende patronen.

Wanneer beiden -n en -N worden gegeven, is het gedrag om alleen de schema's te dumpen die overeenkomen met
Laatste -n overstappen maar nee -N schakelaars. Als -N verschijnt zonder -nen vervolgens schema's
matching -N zijn uitgesloten van wat anders een normale dump is.

-o
--oïden
Dump object-ID's (OID's) als onderdeel van de gegevens voor elke tabel. Gebruik deze optie als
uw toepassing verwijst op de een of andere manier naar de OID-kolommen (bijvoorbeeld in een externe sleutel
beperking). Anders mag deze optie niet worden gebruikt.

-O
--geen-eigenaar
Voer geen opdrachten uit om het eigendom van objecten zo in te stellen dat ze overeenkomen met de oorspronkelijke database. Door
standaard, pg_dump problemen ALTER EIGENAAR or SET SESSION VERGUNNING uitspraken te stellen
eigendom van gemaakte databaseobjecten. Deze instructies zullen mislukken als het script wordt uitgevoerd
uitvoeren tenzij het wordt gestart door een superuser (of dezelfde gebruiker die eigenaar is van alle objecten
in het script). Om een ​​script te maken dat door elke gebruiker kan worden hersteld, maar dat wel zal geven
gebruikerseigendom van alle objecten, specificeer -O.

Deze optie is alleen zinvol voor het platte-tekstformaat. Voor de archiefformaten kunt u
kunt de optie opgeven wanneer u belt pg_herstellen.

-R
--geen-opnieuw verbinden
Deze optie is achterhaald maar wordt nog steeds geaccepteerd voor achterwaartse compatibiliteit.

-s
--schema-alleen
Dump alleen de objectdefinities (schema), geen gegevens.

Deze optie is het omgekeerde van --alleen gegevens. Het is vergelijkbaar met, maar dan voor historisch
redenen niet identiek aan, specificeren --sectie=pre-gegevens --sectie=post-gegevens.

(Verwar dit niet met de --schema optie, die het woord "schema" gebruikt in a
andere betekenis.)

Als u tabelgegevens wilt uitsluiten voor slechts een subset van tabellen in de database, raadpleegt u
--exclude-tabelgegevens.

-S gebruikersnaam
--supergebruiker=gebruikersnaam
Geef de gebruikersnaam van de supergebruiker op die moet worden gebruikt bij het uitschakelen van triggers. Dit is alleen relevant
if --triggers uitschakelen is gebruikt. (Meestal is het beter om dit weg te laten, en in plaats daarvan
start het resulterende script als superuser.)

-t tafel
--tafel=tafel
Dump alleen overeenkomende tabellen (of weergaven of reeksen of buitenlandse tabellen). tafel. Meerdere
tabellen kunnen worden geselecteerd door er meerdere te schrijven -t schakelaars. Ook de tafel parameter is
geïnterpreteerd als een patroon volgens dezelfde regels die worden gebruikt door psql's \d-opdrachten (zie
Patronen), zodat er ook meerdere tabellen kunnen worden geselecteerd door jokertekens in te schrijven
het patroon. Wanneer u jokertekens gebruikt, zorg er dan voor dat u indien nodig het patroon citeert
voorkomen dat de shell de jokertekens uitbreidt; zie VOORBEELDEN.

De -n en -N schakelaars hebben geen effect wanneer -t wordt gebruikt, omdat tabellen geselecteerd door -t
worden ongeacht deze schakelaars gedumpt, en niet-tabelobjecten worden niet gedumpt.

Note
. -t is opgegeven, doet pg_dump geen poging om andere databaseobjecten te dumpen
waarvan de geselecteerde tabel(len) afhankelijk kunnen zijn. Daarom is er geen garantie
waarmee de resultaten van een specifieke tabeldump met succes kunnen worden hersteld
zichzelf in een schone database.

Note
Het gedrag van de -t schakelaar is niet volledig opwaarts compatibel met pre-8.2
PostgreSQL-versies. Vroeger zou het schrijven van -t tab alle tabellen met de naam tab dumpen, maar
nu dumpt het gewoon degene die zichtbaar is in uw standaardzoekpad. Om de
oud gedrag kun je -t '*.tab' schrijven. Je moet ook iets als -t schrijven
sch.tab om een ​​tabel in een bepaald schema te selecteren, in plaats van de oude locutie van
-n sch -t tabblad.

-T tafel
--uitsluiten-tabel=tafel
Dump geen tabellen die overeenkomen met de tafel patroon. Het patroon wordt geïnterpreteerd
volgens dezelfde regels als voor -t. -T kan meer dan één keer worden gegeven om uit te sluiten
tafels die overeenkomen met een van de verschillende patronen.

Wanneer beiden -t en -T worden gegeven, is het gedrag om alleen de tabellen te dumpen die overeenkomen met
Laatste -t overstappen maar nee -T schakelaars. Als -T verschijnt zonder -t, en vervolgens overeenkomende tabellen
-T zijn uitgesloten van wat anders een normale dump is.

-v
--uitgebreid
Specificeert de uitgebreide modus. Dit zorgt ervoor dat pg_dump gedetailleerd objectcommentaar en
start-/stoptijden naar het dumpbestand en voortgangsberichten naar standaardfouten.

-V
--versie
Druk de pg_dump-versie af en sluit af.

-x
--geen-privileges
--geen-acl
Voorkom het dumpen van toegangsrechten (opdrachten verlenen/intrekken).

-Z 0 .. 9
--comprimeren=0 .. 9
Geef het te gebruiken compressieniveau op. Nul betekent geen compressie. Voor de gewoonte
archiefformaat, dit specificeert de compressie van individuele tabelgegevenssegmenten, en de
standaard is het comprimeren op een gematigd niveau. Voor uitvoer van platte tekst stelt u een waarde in die niet nul is
compressieniveau zorgt ervoor dat het volledige uitvoerbestand wordt gecomprimeerd, alsof dit het geval was
gevoed via gzip; maar de standaardinstelling is niet comprimeren. Het tar-archiefformaat
ondersteunt momenteel helemaal geen compressie.

--binaire-upgrade
Deze optie is bedoeld voor gebruik door interne upgradehulpprogramma's. Het gebruik ervan voor andere doeleinden is
niet aanbevolen of ondersteund. Het gedrag van de optie kan in toekomstige releases veranderen
zonder kennisgeving.

--kolom-inserts
--attribuut-inserts
Gegevens dumpen als INSERT opdrachten met expliciete kolomnamen (INSERT INTO tafel (kolom,
...) WAARDEN ...). Dit zal het herstel erg traag maken; het is vooral nuttig bij het maken
dumps die in niet-PostgreSQL-databases kunnen worden geladen. Echter, sinds deze optie
genereert voor elke rij een afzonderlijk commando; een fout bij het opnieuw laden van een rij veroorzaakt alleen
die rij verloren gaat in plaats van de volledige tabelinhoud.

--disable-dollar-quoting
Deze optie schakelt het gebruik van dollarnoteringen voor functie-instanties uit en dwingt hen daartoe
worden geciteerd met behulp van de standaard tekenreekssyntaxis van SQL.

--triggers uitschakelen
Deze optie is alleen relevant bij het maken van een dump voor alleen gegevens. Het instrueert pg_dump om
bevatten opdrachten om triggers op de doeltabellen tijdelijk uit te schakelen terwijl de gegevens worden verwerkt
wordt opnieuw geladen. Gebruik dit als u referentiële integriteitscontroles of andere triggers hebt ingeschakeld
de tabellen die u niet wilt aanroepen tijdens het opnieuw laden van gegevens.

Momenteel worden de commando's uitgezonden voor --triggers uitschakelen moet als superuser worden gedaan. Dus,
u moet ook een superuser-naam specificeren met -S, of wees bij voorkeur voorzichtig bij het starten
het resulterende script als superuser.

Deze optie is alleen zinvol voor het platte-tekstformaat. Voor de archiefformaten kunt u
kunt de optie opgeven wanneer u belt pg_herstellen.

--enable-row-beveiliging
Deze optie is alleen relevant bij het dumpen van de inhoud van een tabel met een rij
beveiliging. Standaard zal pg_dump row_security uitschakelen, om ervoor te zorgen dat alle gegevens dat zijn
van tafel gedumpt. Als de gebruiker niet voldoende rechten heeft om de rij te omzeilen
beveiliging, dan wordt er een fout gegenereerd. Deze parameter geeft opdracht aan pg_dump om in te stellen
row_security in plaats daarvan aan, waardoor de gebruiker de delen van de inhoud van het
tabel waartoe zij toegang hebben.

--exclude-tabel-data=tafel
Dump geen gegevens voor tabellen die overeenkomen met de tafel patroon. Het patroon wordt geïnterpreteerd
volgens dezelfde regels als voor -t. --exclude-tabelgegevens kan meer gegeven worden dan
één keer om tabellen uit te sluiten die overeenkomen met een van de verschillende patronen. Deze optie is handig wanneer
je hebt de definitie van een bepaalde tabel nodig, ook al heb je de gegevens niet nodig
het.

Als u gegevens voor alle tabellen in de database wilt uitsluiten, raadpleegt u --schema-alleen.

--als-bestaat
Gebruik voorwaardelijke opdrachten (dwz voeg een IF EXISTS-clausule toe) bij het opschonen van de database
voorwerpen. Deze optie is niet geldig tenzij --schoon staat ook vermeld.

--inzetstukken
Gegevens dumpen als INSERT commando's (in plaats van COPY). Dit zal het herstel erg traag maken;
het is vooral handig voor het maken van dumps die in niet-PostgreSQL-databases kunnen worden geladen.
Omdat deze optie echter voor elke rij een afzonderlijk commando genereert, wordt er een fout in
het opnieuw laden van een rij zorgt ervoor dat alleen die rij verloren gaat in plaats van de volledige tabelinhoud.
Houd er rekening mee dat het herstel mogelijk helemaal mislukt als u de kolomvolgorde hebt gewijzigd. De
--kolom-inserts optie is veilig tegen wijzigingen in de kolomvolgorde, hoewel zelfs langzamer.

--lock-wait-timeout=time-out
Wacht niet eeuwig met het aanschaffen van gedeelde tafelsloten aan het begin van de dump.
Mislukt in plaats daarvan als een tabel niet binnen de opgegeven waarden kan worden vergrendeld time-out. De time-out kan
worden gespecificeerd in een van de door geaccepteerde formaten SET statement_time-out. (Toegestane waarden
variëren afhankelijk van de serverversie waarvan u dumpt, maar een geheel aantal
milliseconden worden door alle versies sinds 7.3 geaccepteerd. Deze optie wordt genegeerd wanneer
dumpen vanaf een pre-7.3-server.)

--geen-beveiligingslabels
Gooi geen beveiligingslabels weg.

--geen-gesynchroniseerde-snapshots
Met deze optie is hardlopen mogelijk pg_dump -j tegen een server van vóór 9.2, zie de documentatie
van de -j parameter voor meer details.

--geen-tafelruimten
Voer geen commando's uit om tablespaces te selecteren. Met deze optie worden alle objecten
gemaakt in welke tabelruimte dan ook de standaard is tijdens herstel.

Deze optie is alleen zinvol voor het platte-tekstformaat. Voor de archiefformaten kunt u
kunt de optie opgeven wanneer u belt pg_herstellen.

--no-unlogged-table-data
Dump de inhoud van niet-gelogde tabellen niet. Deze optie heeft geen invloed op het al dan niet
niet de tabeldefinities (schema) worden gedumpt; het onderdrukt alleen het dumpen van de tafel
gegevens. Gegevens in niet-geregistreerde tabellen worden altijd uitgesloten bij het dumpen vanaf een standby-server.

--quote-alle-ID's
Forceer het citeren van alle ID's. Dit kan handig zijn bij het dumpen van een database voor
migratie naar een toekomstige versie waarin mogelijk extra trefwoorden zijn geïntroduceerd.

--sectie=sectie naam
Dump alleen de genoemde sectie. De sectienaam kan zijn pre-gegevens, gegevensof post-gegevens.
Deze optie kan meerdere keren worden opgegeven om meerdere secties te selecteren. De standaard
is om alle secties te dumpen.

De gegevenssectie bevat feitelijke tabelgegevens, de inhoud van grote objecten en de volgorde
waarden. Post-data-items omvatten definities van indexen, triggers, regels en
andere beperkingen dan gevalideerde controlebeperkingen. Pre-data-items omvatten alle andere
gegevensdefinitie-items.

--serialiseerbaar-uitstelbaar
Gebruik een serialiseerbare transactie voor de dump om ervoor te zorgen dat de gebruikte momentopname dat is
consistent met latere databasestaten; maar doe dit door te wachten op een punt in de
transactiestroom waarbij geen afwijkingen aanwezig kunnen zijn, zodat er geen risico op bestaat
de dump mislukt of zorgt ervoor dat andere transacties worden teruggedraaid met a
serialisatie_fout. Zie Hoofdstuk 13, Concurrency Control, in de documentatie voor
meer informatie over transactie-isolatie en gelijktijdigheidscontrole.

Deze optie is niet gunstig voor een dump die alleen bedoeld is voor noodherstel.
Het kan handig zijn als een dump wordt gebruikt om een ​​kopie van de database te laden voor rapportage of
andere alleen-lezen belastingverdeling terwijl de oorspronkelijke database nog steeds wordt bijgewerkt.
Zonder dit zou de dump een toestand kunnen weerspiegelen die niet consistent is met welke serie dan ook
uitvoering van de uiteindelijk gepleegde transacties. Bijvoorbeeld als batchverwerking
technieken worden gebruikt, kan een batch in de dump als gesloten worden weergegeven zonder alle items
die in de batch verschijnen.

Deze optie maakt geen verschil als er geen lees-schrijftransacties actief zijn
wanneer pg_dump wordt gestart. Als er lees-schrijftransacties actief zijn, het begin van de dump
kan voor onbepaalde tijd worden uitgesteld. Eenmaal uitgevoerd, prestaties met of
zonder schakelaar is hetzelfde.

--momentopname=momentopnamenaam
Gebruik de opgegeven gesynchroniseerde momentopname bij het maken van een dump van de database (zie
Tabel 9.71, “Snapshotsynchronisatiefuncties” voor meer details).

Deze optie is handig wanneer u de dump moet synchroniseren met een logische replicatie
slot (zie hoofdstuk 46, Logische decodering, in de documentatie) of met een concurrent
sessie.

In het geval van een parallelle dump wordt de snapshotnaam gebruikt die door deze optie is gedefinieerd
in plaats van een nieuwe momentopname te maken.

--gebruik-set-sessie-autorisatie
Uitvoer SQL-standaard SET SESSION VERGUNNING commando's in plaats van ALTER EIGENAAR commando's
objecteigendom te bepalen. Dit maakt de dump meer compatibel met standaarden, maar
afhankelijk van de geschiedenis van de objecten in de dump, wordt het herstel mogelijk niet goed uitgevoerd. Ook,
een dump gebruikt SET SESSION VERGUNNING hiervoor zijn zeker superuser-rechten vereist
correct herstellen, terwijl ALTER EIGENAAR vereist minder privileges.

-?
--help
Toon hulp over pg_dump opdrachtregelargumenten en sluit af.

De volgende opdrachtregelopties bepalen de databaseverbindingsparameters.

-d dbnaam
--dbnaam=dbnaam
Specificeert de naam van de database waarmee verbinding moet worden gemaakt. Dit is hetzelfde als specificeren
dbnaam als het eerste niet-optieargument op de opdrachtregel.

Als deze parameter een =-teken bevat of begint met een geldig URI-voorvoegsel (postgresql://
of postgres://), wordt het behandeld als een conninfo snaar. Zie Paragraaf 31.1, “Database
Connection Control Functions”, in de documentatie voor meer informatie.

-h gastheer
--gastheer=gastheer
Specificeert de hostnaam van de machine waarop de server draait. Als de waarde
begint met een schuine streep, wordt deze gebruikt als de map voor de Unix-domeinsocket. De
standaard is overgenomen van de PGHOST omgevingsvariabele, indien ingesteld, anders een Unix-domein
socket verbinding wordt geprobeerd.

-p port
--poort=port
Specificeert de TCP-poort of lokale Unix-domeinsocket-bestandsextensie waarop de server
luistert naar verbindingen. Standaard ingesteld op de PGPOORT omgevingsvariabele, indien ingesteld, of
een gecompileerde standaard.

-U gebruikersnaam
--gebruikersnaam=gebruikersnaam
Gebruikersnaam om verbinding mee te maken.

-w
--geen wachtwoord
Geef nooit een wachtwoordprompt uit. Als de server wachtwoordverificatie vereist en a
wachtwoord is niet beschikbaar op andere manieren, zoals een .pgpass-bestand, de verbinding
poging zal mislukken. Deze optie kan handig zijn in batchtaken en scripts waar geen gebruiker
aanwezig is om een ​​wachtwoord in te voeren.

-W
--wachtwoord
Forceer pg_dump om om een ​​wachtwoord te vragen voordat u verbinding maakt met een database.

Deze optie is nooit essentieel, omdat pg_dump automatisch om een ​​wachtwoord zal vragen
als de server wachtwoordauthenticatie vereist. Pg_dump zal echter a
verbindingspoging om erachter te komen dat de server een wachtwoord wil. In sommige gevallen is het
het typen waard -W om de extra verbindingspoging te vermijden.

--rol=rol naam
Hiermee geeft u een rolnaam op die moet worden gebruikt om de dump te maken. Deze optie zorgt ervoor dat pg_dump wordt uitgevoerd
uitgeven een SET ROL rol naam opdracht nadat u verbinding hebt gemaakt met de database. Het is handig wanneer
de geverifieerde gebruiker (gespecificeerd door -U) mist de rechten die nodig zijn voor pg_dump, maar kan dat wel
overstappen naar een rol met de vereiste rechten. Sommige installaties hebben een beleid tegen
direct inloggen als superuser en door gebruik te maken van deze optie kunnen dumps worden gemaakt
zonder het beleid te schenden.

MILIEU


PGDATABASE
PGHOST
PGOPTIES
PGPOORT
PGUSER
Standaard verbindingsparameters.

Dit hulpprogramma gebruikt, net als de meeste andere PostgreSQL-hulpprogramma's, ook de omgevingsvariabelen
ondersteund door libpq (zie Paragraaf 31.14, “Omgevingsvariabelen”, in de documentatie).

DIAGNOSE


pg_dump wordt intern uitgevoerd SELECT verklaringen. Als u problemen ondervindt bij het uitvoeren van pg_dump, maak dan
Zorg ervoor dat u informatie uit de database kunt selecteren met behulp van bijvoorbeeld psql(1).
Ook alle standaardverbindingsinstellingen en omgevingsvariabelen die door libpq
front-end bibliotheek is van toepassing.

De databaseactiviteit van pg_dump wordt normaal gesproken verzameld door de statistiekenverzamelaar. Als
dit is ongewenst, u kunt een parameter instellen track_counts naar vals via PGOPTIES of de
ALTER GEBRUIKER-opdracht.

OPMERKINGEN


Als uw databasecluster lokale toevoegingen heeft aan de template1-database, wees dan voorzichtig
herstel de uitvoer van pg_dump naar een werkelijk lege database; anders krijg je het waarschijnlijk wel
fouten als gevolg van dubbele definities van de toegevoegde objecten. Om een ​​lege database te maken
kopieer zonder enige lokale toevoegingen van template0 niet template1, bijvoorbeeld:

MAAK DATABASE foo MET TEMPLATE template0;

Wanneer een dump voor alleen gegevens wordt gekozen en de optie --triggers uitschakelen wordt gebruikt, wordt pg_dump uitgezonden
opdrachten om triggers op gebruikerstabellen uit te schakelen voordat de gegevens worden ingevoegd, en vervolgens opdrachten
om ze opnieuw in te schakelen nadat de gegevens zijn ingevoegd. Als het herstel wordt gestopt in de
midden, kunnen de systeemcatalogi in de verkeerde staat blijven staan.

Het dumpbestand geproduceerd door pg_dump bevat niet de statistieken die door de optimalisatie worden gebruikt
beslissingen nemen over de queryplanning. Daarom is het verstandig om te rennen ANALYSE na het herstellen van een
dumpbestand om optimale prestaties te garanderen; zie Paragraaf 23.1.3, “Planner bijwerken
Statistics”, in de documentatie en Paragraaf 23.1.6, “The Autovacuum Daemon”, in de
documentatie voor meer informatie. Het dumpbestand bevat ook geen ALTER DATABASE
... SET commando's; deze instellingen worden gedumpt door pg_dumpall(1), samen met databasegebruikers
en andere installatiebrede instellingen.

Omdat pg_dump wordt gebruikt om gegevens over te dragen naar nieuwere versies van PostgreSQL, wordt de uitvoer van
Van pg_dump kan worden verwacht dat deze wordt geladen in PostgreSQL-serverversies die nieuwer zijn dan die van pg_dump
versie. pg_dump kan ook dumpen van PostgreSQL-servers die ouder zijn dan zijn eigen versie.
(Momenteel worden servers vanaf versie 7.0 ondersteund.) Pg_dump kan echter niet dumpen van
PostgreSQL-servers nieuwer dan zijn eigen hoofdversie; het zal liever weigeren het zelfs maar te proberen
dan het risico lopen een ongeldige dump te maken. Ook is het niet gegarandeerd dat de uitvoer van pg_dump dat kan zijn
geladen in een server van een oudere hoofdversie - zelfs niet als de dump afkomstig is van een
server van die versie. Voor het laden van een dumpbestand naar een oudere server kan handmatige bewerking nodig zijn
het bewerken van het dumpbestand om de syntaxis te verwijderen die niet door de oudere server wordt begrepen.

Voorbeelden


Om een ​​database met de naam mydb in een SQL-scriptbestand te dumpen:

$ pg_dump mijndb > db.sql

Om zo'n script opnieuw te laden in een (vers aangemaakte) database met de naam newdb:

$ psql -d nieuwedb -f db.sql

Een database dumpen in een archiefbestand met aangepaste indeling:

$ pg_dump -Fc mijndb > db.dump

Een database dumpen in een archief in mapindeling:

$ pg_dump -Vd mijndb -f dumpdir

Een database dumpen in een archief in directory-indeling, parallel met vijf werktaken:

$ pg_dump -Vd mijndb -j 5 -f dumpdir

Om een ​​archiefbestand opnieuw te laden in een (nieuw aangemaakte) database met de naam newdb:

$ pg_herstellen -d nieuwedb db.dump

Om een ​​enkele tabel met de naam mytab te dumpen:

$ pg_dump -t mijntab mijndb > db.sql

Om alle tabellen waarvan de naam begint met emp in het Detroit-schema te dumpen, behalve de tabel
genaamd medewerker_log:

$ pg_dump -t 'detroit.emp*' -T detroit.employee_log mijndb > db.sql

Om alle schema's te dumpen waarvan de naam begint met east of west en eindigt op gsm, met uitzondering van alle schema's
schema's waarvan de naam het woord test bevat:

$ pg_dump -n 'oost*gsm' -n 'west*gsm' -N '*test*' mijndb > db.sql

Hetzelfde, met behulp van reguliere expressie-notatie om de schakelaars te consolideren:

$ pg_dump -n '(oost|west)*gsm' -N '*test*' mijndb > db.sql

Om alle databaseobjecten te dumpen, behalve tabellen waarvan de naam begint met ts_:

$ pg_dump -T 'ts_*' mijndb > db.sql

Om een ​​naam in hoofdletters of gemengde letters op te geven in -t en gerelateerde schakelaars, dat is nodig
dubbele aanhalingstekens voor de naam; anders wordt het in kleine letters gevouwen (zie Patronen). Maar dubbel
aanhalingstekens zijn speciaal voor de schaal en moeten dus op hun beurt worden aangehaald. Dus een single dumpen
tabel met een naam met gemengde hoofdletters, heb je zoiets nodig als

$ pg_dump -t "\"GemengdeCaseNaam\"" mijndb > mijntab.sql

Gebruik pg_dump online met behulp van onworks.net-services


Gratis servers en werkstations

Windows- en Linux-apps downloaden

Linux-commando's

Ad