I realized that it happens immediatly when I reload my cluster settings via pg_ctl reload. Immediatly raised the curremt message for every database in my cluster :
2018-07-11 17:17:56 IDTjiradbuserjiradbERROR: invalid value for parameter "client_encoding": "ISO_8859_8"
2018-07-11 17:17:56 IDTjiradbuserjiradbDETAIL: Cannot change "client_encoding" now.
What can I check in my postgresql.conf ?
2018-07-04 12:01 GMT+03:00 Mariel Cherkassky <mariel.cherkassky@xxxxxxxxx>:
It happens to all the sessions I have to all the databases. In other words, different apps are connected to different databases but I still keep getting those errors. I queried pg_shadow and I didnt see that a specific user has a different client_encoding configured. Moreover, the client_encoding is set to default in postgresql.conf.What else can I check ? I'm trying to check the if the problem is in the pool as tatsuo suggested but is there anything else that I can check ?2018-07-01 18:33 GMT+03:00 Tom Lane <tgl@xxxxxxxxxxxxx>:Mariel Cherkassky <mariel.cherkassky@xxxxxxxxx> writes:
> My postgresql env consist of 3 nodes(9.6 version) and 2 pgpool`s that acts
> as a load balancer. I'm using postgresql as a database for the next apps :
> bitbucket,jira and crowd. However, I'm getting alot of errors in the pgpool
> log about the client_encoding for every connection that comes from one of
> those application :
> invalid value for parameter "client_encoding": "ISO_8859_8"
> Cannot change "client_encoding" now.
[ digs around ... ] The "Cannot change" bit seems to indicate that this
error is coming from check_client_encoding(), and it's failing because
it cannot change client_encoding for an existing session outside a
transaction. The comment about it is:
* ... This would only happen if someone tries to change
* client_encoding in postgresql.conf and then SIGHUP existing sessions.
* It seems like a bad idea for client_encoding to change that way anyhow,
* so we don't go out of our way to support it.
I'm not very sure how you'd get into a state where this was affecting
new sessions as well as pre-existing ones, or why it would affect only
some sessions. Maybe the latter could be explained if all but this one
app explicitly set client_encoding for themselves.
Anyway, I think it's impossible for the client app to trigger this
by itself. There must be some server-side source of this value,
if not postgresql.conf then maybe ALTER DATABASE/ROLE SET?
regards, tom lane