PostgreSQL:设置默认的psql客户端编码


11

当我使用连接到Postgresql数据库时psql,通常会收到以下消息:

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

按照这个答案,我知道我应该相应地更改客户端编码:

SET client_encoding = 'UTF8';

client_encoding每次连接数据库时都要进行更改。有没有办法在.pgpass文件中或其他任何地方永久配置此设置?

Answers:


13

是否可以在.pgpass文件或其他任何地方永久配置此设置

是的,它是~/.psqlrc:(%APPDATA%\postgresql\psqlrc.conf在Windows中)

有关详细信息,请参见手册:http : //www.postgresql.org/docs/current/static/app-psql.html#AEN88713


2
添加SET client_encoding = 'UTF8';~/.psqlrc窍门。谢谢!
亚当·马坦

psql会话中(重新)连接时,例如重新启动服务器后,这似乎不起作用。
亚当·麦克勒

1
我必须在Windows中创建此文件,然后设置一个指向该目录的名为PSQLRC的用户环境var。是的,没有更多的投诉
Amalgovinus
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.