postgresql-wo kommt die Ausgabe von pg_dump gehen
Ich versuche ein backup einer db, postgresql und ich will pg_dump
Befehl.
Ich habe versucht :
psql -U postgres
postgres-# pg_dump test > backup.sql
Aber ich weiß nicht, wo die Ausgabe-Datei geht.
Jede Hilfe wird dankbar sein
- Warum nicht Sie es tun, dann laufen
find / -name backup.sql
- Für Mac Os bitte überprüfen Sie daher diese Antwort [hier][1] gut erklärt. [1]: stackoverflow.com/a/50823671/4683950
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gehen Sie zur Eingabeaufforderung und das Verzeichnis postgresql\9.3\bin.
Beispiel
.
Nach oben-Befehl geben Sie den Benutzer "postgres" das Passwort und überprüfen Sie
D:\
Fahrt fürbackup.sql
DateiIn meiner situation (PostgreSQL 9.1.21, Centos 6.7), wird der Befehl
gespeichert, die Datei hier:
Nicht sicher, ob das gilt auch für andere Linux-Distributionen CentOS und/oder pgl-Versionen. Nach die Antwort zu dem Beitrag von Fragesteller dieser Frage, das ist wahr, aber auch andere Nutzer, sagte der backup-Datei wurde in das aktuelle Verzeichnis (eine situation, anders als die meisten Leute Lesen diesen thread, aus offensichtlichen Gründen). Naja, ich hoffe, dies kann helfen, andere Benutzer mit dem gleichen problem.
P. s.: wenn das nicht der Weg für Ihre situation, können Sie versuchen (unter Linux) finden Sie unter den unten angegebenen Befehl (wie bereits von @Boheme in den Kommentaren zu dieser Frage), das kann aber eine Weile dauern:
EDIT: ich versuchte, führen Sie den analogen Befehl in Ubuntu 12.04 (es funktioniert auf Ubuntu 18.04):
Und in diesem Fall wurde die Datei im aktuellen Verzeichnis gespeichert, wo ich den Befehl ausgeführt! So beiden Fällen geschehen kann, in Linux, in Abhängigkeit von der spezifischen dist-Sie arbeiten
Ich bin zu spät zu dieser party, aber ich habe das Gefühl, dass keine der Antworten sind wirklich korrekt. Die meisten scheinen zu implizieren, dass
pg_dump
schreibt eine Datei irgendwo. Tut es das nicht. Sie sind senden der Ausgabe an eine Datei, und Sie gesagt, die shell, wo Sie schreiben, dass die Datei.In deinem Beispiel
pg_dump test > backup.sql
verwendetplain
oder SQL-format, diepg_dump
Befehl nicht speichern jede Datei irgendwo. Es ist einfach sendet die Ausgabe anSTDOUT
, die in der Regel auf dem Bildschirm, und es ist getan.Aber in Ihrem Befehl, Sie sagte auch, Ihre shell (Terminal, Eingabeaufforderung, was auch immer) umleiten von STDOUT in eine Datei. Das hat nichts zu tun mit
pg_dump
aber ist ein standard-feature von shells wie Bash oder cmd.exe.Du verwendet
>
zum umleiten von STDOUT in eine Datei statt auf dem Bildschirm. Und Sie gab dem Datei-name: "backup.sql". Da Sie nicht angeben, einen beliebigen Pfad, wird die Datei in Ihrem aktuellen Verzeichnis. Dies ist wahrscheinlich Ihr home-Verzeichnis, es sei denn, Sie haben einencd ...
in ein anderes Verzeichnis.In dem besonderen Fall der
pg_dump
Sie hätte auch eine alternative zu den> /path/to/some_file
shell-Umleitung, indem die-f some_file
- option:Damit der Befehl hätte
pg_dump test -f backup.sql
gefragt pg_dump schreiben Sie direkt in diese Datei.Aber in jedem Fall, geben Sie den Namen der Datei, und wenn Sie keinen Pfad angeben, wird die Datei erstellt wird in Ihrem aktuellen Verzeichnis. Wenn die Eingabeaufforderung nicht bereits die Anzeige Ihres aktuellen Verzeichnis, können Sie es gezeigt mit der
pwd
- Kommando auf Unix-undcd
im Windows.Wenn Sie keine Angabe eines vollqualifizierten Pfaden, wie:
pg_dump your_db_name > dbdump
dann in Windows es speichert dumps in das Heimatverzeichnis des aktuellen Benutzers. I. e.:
C:\Users\username
In der Linux-Standard-Pfad ist:
In pgadmin 4 für Mac, vorausgesetzt dump erfolgreich war, klicken Sie auf "Mehr Details" sehen Sie eine box, die sagt "Running command:" in diesem Feld sehen Sie " /Applications/pgAdmin 4.app/Contents/SharedSupport/pg_dump --Datei "Pfad/zur/Datei", wo der Pfad zur Datei ist das Ziel der Speicherung.