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?

Adam Matan
la source

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

un cheval sans nom
la source
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