Postgresql: Standard-PSQL-Client-Codierung festlegen


11

Wenn ich mit eine Verbindung zu einer Postgresql-Datenbank herstelle psql, werden häufig folgende Meldungen angezeigt:

=> SELECT * FROM question_view ;
ERROR:  character with byte sequence 0xd7 0x9e in encoding "UTF8" has no equivalent in encoding "LATIN1"

Nach dieser SO-Antwort verstehe ich, dass ich die Client-Codierung entsprechend ändern sollte:

SET client_encoding = 'UTF8';

Das Ändern client_encodingjedes Mal, wenn ich eine Verbindung zur Datenbank herstelle, ist umständlich. Gibt es eine Möglichkeit, diese Einstellung dauerhaft zu konfigurieren, entweder in der .pgpassDatei oder anderswo?

Antworten:


13

Gibt es eine Möglichkeit, diese Einstellung dauerhaft zu konfigurieren, entweder in der .pgpass-Datei oder an einer anderen Stelle

Ja, es gibt: es ist ~/.psqlrc(oder %APPDATA%\postgresql\psqlrc.confin Windows)

Weitere Informationen finden Sie im Handbuch: http://www.postgresql.org/docs/current/static/app-psql.html#AEN88713


2
Hinzufügen SET client_encoding = 'UTF8';zu ~/.psqlrchat den Trick getan. Vielen Dank!
Adam Matan

Dies scheint nicht zu funktionieren, wenn eine Verbindung innerhalb einer psqlSitzung (erneut) hergestellt wird , z. B. nach dem Neustart des Servers.
Adam Mackler

1
Ich musste diese Datei in Windows erstellen und dann eine Benutzerumgebungsvariable namens PSQLRC festlegen, die auf dieses Verzeichnis verweist. Keine Beschwerden mehr, yay
Amalgovinus
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.