Ich versuche eine .txt-Datei in PostgreSQL zu importieren. Die TXT-Datei hat 6 Spalten:
%Vor%Und 213 Zeilen.
Ich versuche, \copy
zu verwenden, um den Inhalt dieser Datei mit diesem Befehl in eine Tabelle namens doe2
in PostgreSQL zu setzen:
Es gibt mir diesen Fehler:
%Vor%
Ich habe mich rundherum umgeschaut, was ich tun kann, wenn ich auf diesen Fehler stoße und nichts hat geholfen. Hat jemand anderes dieses angetroffen?
Drei mögliche Ursachen:
Eine oder mehrere Zeilen Ihrer Datei haben nur 4 oder weniger Leerzeichen (Ihr Trennzeichen).
Ein oder mehrere Leerzeichen wurden (versehentlich) maskiert. Vielleicht mit einem Backslash am Ende eines nicht angegebenen Wertes. Für das (default) text
-Format, das Sie verwenden, erklärt das Handbuch:
Backslash-Zeichen (
\
) können in denCOPY
-Daten verwendet werden, um Daten zu zitieren Zeichen, die sonst als Zeilen- oder Spaltenbegrenzer verwendet werden könnten.
Die Ausgabe von COPY TO
oder pg_dump
würde keinen dieser Fehler beim Lesen aus einer Tabelle mit passendem Layout anzeigen. Aber vielleicht wurde Ihre Datei bearbeitet oder stammt von einer anderen, fehlerhaften Quelle?
\copy
-Meta-Befehl der Befehlszeilenschnittstelle psql ist ein Wrapper für COPY
und liest lokale Dateien für den Client . Wenn sich Ihre Datei auf dem Server befindet, verwenden Sie stattdessen den SQL-Befehl COPY
. Tags und Links postgresql psql postgresql-copy