pgAdmin III schreibt Dateien mit Datenmüll, was zu einem Ausfall von PSQL führt

pgAdmin III schreibt Dateien mit Datenmüll, was zu einem Ausfall von PSQL führt

psqlIch stand vor dem Dilemma, einige Konsolenbefehle ausführen zu müssen, weil ein Kollege \idie Direktive von psql in einem gespeicherten Skript verwenden musste, um zusätzliche SQL-Anweisungen aus einer anderen Datei auszuführen. Dabei fiel mir auf, dass psql an diesen Dateien scheiterte, weil pgAdmin einige zusätzliche unbrauchbare Zeichen in sie schrieb:

psql:C:/tmp/junk.sql:3: ERROR:  syntax error at or near "CREATE"
LINE 1: CREATE TABLE junktable (

psqlwird hier benötigt, da \ies kein offizieller Teil von SQL ist. Es wird also nicht ausgeführt, wenn Sie einen solchen Befehl direkt an den Interpreter der Datenbank senden, selbst wenn dieser eine Möglichkeit hätte, auf die Dateien auf Ihrer lokalen Festplatte zuzugreifen.

Der Einfachheit halber wollte ich eine Möglichkeit finden, den SQL-Editor von PgAdmin gut mit Postgres zu kompatibel zu machen, damit ich anderen Leuten bei der Arbeit nicht plötzlich sagen muss, sie sollen einen anderen Editor herunterladen und installieren, nur um das Problem zu umgehen; sie kennen und verwenden pgAdmin bereits.

Ähnliche Fragen:

Antwort1

Glücklicherweise gibt es eine Lösung, die keine Änderungen an psql.exe oder ähnliches erfordert.

Wenn Sie in den Optionen von PgAdmin III (Datei -> Optionen) herumstöbern, finden Sie unter der Überschrift „Abfragetool“ in „Datei abfragen“ eine Kontrollkästchen-Umschaltoption für „BOM für UTF-Dateien schreiben“.

PgAdmin III Optionen: Abfragetool: Datei abfragen

Sobald Sie auf „OK“ klicken, sollten Sie in der Lage sein, Dateien aus PgAdmin zu speichern, die mit der gepackten Version von psql.exe funktionieren. Wenn Sie vorhandene Dateien haben, die die UTF-BOM-Tabelle enthielten, die psql daran hinderte, sie richtig zu lesen, können Sie sie aus dem SQL-Abfrageeditor von PgAdmin laden und dann einfach die Option „Speichern unter“ verwenden, um sie an Ort und Stelle zu speichern. Es sollte auch funktionieren, wenn Sie nur eine kleine Änderung vornehmen, wie das Hinzufügen einer Kommentarzeile und ein normales Speichern (Strg-S).

verwandte Informationen