Postgres Dump To TXT-Datei

8

Gibt es eine Möglichkeit, eine Postgres-Dump-Datei in eine Textdatei zu konvertieren?

Ich habe Probleme, den Speicherauszug an den richtigen Speicherort zu bringen. Ich würde ihn einfach aus der Speicherauszugsdatei wiederherstellen und dann in Text exportieren.

So sieht lastest.dump aus:

Geben Sie hier die Bildbeschreibung ein

Drew
quelle
Wie erstellen Sie den Dump? Die Ausgabe von pg_dumpist bereits Text.
Greg Hewgill
Ich bin nicht sicher, mit welchem ​​Befehl er den Dump erstellt hat, aber es ist eine * .dump-Datei.
Drew
1
Ist es ein Binär- oder SQL-Dump? Wenn es sich um einen binären Speicherauszug handelt, ist es wahrscheinlich am einfachsten, PostgreSQL einzurichten, den Speicherauszug zu laden und die Daten dann direkt von PostgreSQL nach SQLite zu übertragen. Wenn es sich um einen SQL-Speicherauszug handelt, können Sie ihn möglicherweise mit ein wenig Bearbeitung direkt in SQLite einspeisen.
Mu ist zu kurz
1
@ GregHewgill Kommt darauf an, was du mit "Binärdump" meinst. Wenn es sich um eine pg_dump -FcAusgabe handelt, die wahrscheinlich ist, werden die meisten Versionen problemlos wiederhergestellt. Wenn es sich um eine Kopie des Datenverzeichnisses handelt, das von erstellt wurde, haben pg_basebackupSie Recht.
Craig Ringer
1
@Drew Die Ausgabe von file thefile.dumpwäre informativ. Druckt es so etwas wie thefile.dump: PostgreSQL custom database dump - v1.12-0? In diesem pg_restoreFall müssen Sie den Speicherauszug in eine PostgreSQL-Instanz laden oder in einen einfachen SQL-Speicherauszug konvertieren.
Craig Ringer

Antworten:

17

Dies ist eine Dump-Datei, die von erstellt wurde pg_dump -Fc.

Verwenden Sie pg_restore, um eine Textdatei mit SQL-Befehlen daraus zu erstellen .

Die grundlegende Syntax lautet pg_restore file.dump > file.sql, dass Sie keine Zieldatenbank angeben (beachten Sie die fehlende -dOption).

Daniel Vérité
quelle
Sollte der Dump auch die Daten enthalten?
Drew
@Drew: Der Speicherauszug kann die Daten enthalten oder nicht, abhängig von den Optionen, mit denen er erstellt wurde. Führen Sie den obigen Befehl aus und sehen Sie.
Daniel Vérité