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?

Adam Matan
sumber

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

seekor kuda tanpa nama
sumber
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