Postgresql: définir l'encodage client psql par défaut


11

Lorsque je me connecte à une base de données Postgresql à l'aide psql, j'obtiens souvent ces messages:

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

Suite à cette réponse SO , je comprends que je devrais changer l'encodage client en conséquence:

SET client_encoding = 'UTF8';

Changer client_encodingchaque fois que je me connecte à la base de données est fastidieux. Existe-t-il un moyen de configurer définitivement ce paramètre, soit dans le .pgpassfichier, soit ailleurs?

Réponses:


13

Existe-t-il un moyen de configurer définitivement ce paramètre, soit dans le fichier .pgpass, soit ailleurs

Oui il y en a: c'est ~/.psqlrc(ou %APPDATA%\postgresql\psqlrc.confsous Windows)

Voir le manuel pour plus de détails: http://www.postgresql.org/docs/current/static/app-psql.html#AEN88713


2
Ajouter SET client_encoding = 'UTF8';à ~/.psqlrcfait l'affaire. Merci!
Adam Matan

Cela ne semble pas fonctionner lors de la (re) connexion depuis une psqlsession, par exemple après le redémarrage du serveur.
Adam Mackler

1
J'ai dû créer ce fichier dans Windows, puis définir un environnement utilisateur var appelé PSQLRC pointant vers ce répertoire. Plus de plaintes,
oui
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.