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?

Adam Matan
quelle

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

ein Pferd ohne Name
quelle
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