Postgresql:デフォルトのPSQLクライアントエンコーディングを設定する


11

を使用してPostgresql DBに接続すると、psql次のメッセージが頻繁に表示されます。

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

このSOの回答に従って、クライアントのエンコーディングをそれに応じて変更する必要があることを理解しています。

SET client_encoding = 'UTF8';

client_encodingDBに接続するたびに変更するのは面倒です。.pgpassファイルまたは他の場所でこの設定を永続的に構成する方法はありますか?

回答:


13

.pgpassファイルまたは他の場所でこの設定を永続的に構成する方法はありますか

はい、あります:それは~/.psqlrc(または%APPDATA%\postgresql\psqlrc.confWindowsで)

詳細については、マニュアルを参照してください:http : //www.postgresql.org/docs/current/static/app-psql.html#AEN88713


2
トリックを追加SET client_encoding = 'UTF8';しまし~/.psqlrcた。ありがとう!
Adam Matan 14

これはpsql、サーバーを再起動した後など、セッション内から(再)接続する場合は機能しないようです。
Adam Mackler、2014

1
Windowsでこのファイルを作成し、そのディレクトリを指すPSQLRCというユーザー環境変数を設定する必要がありました。イェイ
アマルゴビナス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.