Postgresql: imposta la codifica client psql predefinita


11

Quando mi collego a un DB Postgresql usando psql, ricevo spesso questi messaggi:

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

Seguendo questa risposta SO , capisco che dovrei cambiare la codifica client di conseguenza:

SET client_encoding = 'UTF8';

Cambiare client_encodingogni volta che mi collego al DB è ingombrante. C'è un modo per configurare permanentemente questa impostazione, nel .pgpassfile o in qualsiasi altro posto?

Risposte:


13

C'è un modo per configurare permanentemente questa impostazione, nel file .pgpass o in qualsiasi altro luogo

Sì, c'è: è ~/.psqlrc(o %APPDATA%\postgresql\psqlrc.confin Windows)

Consultare il manuale per i dettagli: http://www.postgresql.org/docs/current/static/app-psql.html#AEN88713


2
Aggiungendo SET client_encoding = 'UTF8';a ha ~/.psqlrcfatto il trucco. Grazie!
Adam Matan,

Questo non sembra funzionare quando (ri) connettersi all'interno di una psqlsessione, ad esempio dopo aver riavviato il server.
Adam Mackler,

1
Ho dovuto creare questo file in Windows e quindi impostare un var ambiente utente chiamato PSQLRC che punta a quella directory. Niente più lamentele, yay
Amalgovinus
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.