Postgresql: thiết lập mã hóa máy khách psql mặc định


11

Khi tôi kết nối với DB Postgresql bằng cách sử dụng psql, tôi thường nhận được các thông báo sau:

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

Theo câu trả lời SO này , tôi hiểu rằng tôi nên thay đổi mã hóa máy khách cho phù hợp:

SET client_encoding = 'UTF8';

Thay đổi client_encodingmỗi khi tôi kết nối với DB là cồng kềnh. Có cách nào để định cấu hình vĩnh viễn cài đặt này, trong .pgpasstệp hoặc bất kỳ nơi nào khác không?

Câu trả lời:


13

Có cách nào để định cấu hình vĩnh viễn cài đặt này, trong tệp .pgpass hoặc bất kỳ nơi nào khác không

Có, đó là: nó ~/.psqlrc(hoặc %APPDATA%\postgresql\psqlrc.conftrong Windows)

Xem hướng dẫn để biết chi tiết: http://www.postgresql.org/docs/civerse/static/app-psql.html#AEN88713


2
Thêm vào SET client_encoding = 'UTF8';để ~/.psqlrclàm thủ thuật. Cảm ơn!
Adam Matan

Điều này dường như không hoạt động khi (lại) kết nối từ trong một psqlphiên, ví dụ như sau khi khởi động lại máy chủ.
Adam Mackler

1
Tôi đã phải tạo tệp này trong Windows và sau đó đặt var môi trường người dùng được gọi là PSQLRC trỏ đến thư mục đó. Không còn phàn nàn nữa, yay
Amalgovinus
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.