Postgresql: atur enkode klien psql default


11

Ketika saya terhubung ke DB Postgresql menggunakan psql, saya sering mendapatkan pesan-pesan ini:

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

Mengikuti jawaban SO ini , saya mengerti bahwa saya harus mengubah pengkodean klien sesuai:

SET client_encoding = 'UTF8';

Mengubah client_encodingsetiap kali saya terhubung ke DB rumit. Apakah ada cara untuk mengonfigurasi pengaturan ini secara permanen, baik di dalam .pgpassfile atau di mana pun?

Jawaban:


13

Apakah ada cara untuk mengonfigurasi pengaturan ini secara permanen, baik dalam file .pgpass atau di mana pun

Ya ada: itu ~/.psqlrc(atau %APPDATA%\postgresql\psqlrc.confdi Windows)

Lihat manual untuk detail: http://www.postgresql.org/docs/current/static/app-psql.html#AEN88713


2
Menambahkan SET client_encoding = 'UTF8';untuk ~/.psqlrcmelakukan trik. Terima kasih!
Adam Matan

Ini sepertinya tidak berfungsi ketika (kembali) terhubung dari dalam suatu psqlsesi, misalnya setelah me-restart server.
Adam Mackler

1
Saya harus membuat file ini di Windows dan kemudian mengatur var lingkungan pengguna yang disebut PSQLRC menunjuk ke direktori itu. Tidak ada lagi keluhan, yay
Amalgovinus
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.