I've got two centos 6.5 servers running postgres 9.4.10 with repmgr and pgpool 3.4.5. For the most part they seem to work fine, but with some tests I get errors in the logs like
< 2017-01-24 18:47:14.588 GMT >STATEMENT: SELECT obj.* FROM MYSCHEMA.clusterobjects obj INNER JOIN MYSCHEMA.objecttypes objtype ON obj.objecttypes_id = objtype.id AND objtype.objecttype = $1 WHERE obj.objectid = $2 FOR UPDATE
< 2017-01-24 18:47:19.585 GMT >ERROR: cannot execute SELECT FOR UPDATE in a read-only transaction
This is happening on the second node which is in standby, so therfore shouldn't have any write queries being directed to it.
It's happened more than a few times, but it's rather inconsistent, you can run the same tests on the same environment with no issue and so far I've had no luck reproducing the issue in vagrant (but that has a tendency to fall over for other reasons)
I'm wondering if this is related to the white/black function list, do we need to add anything else to that?
white_function_list = ''
black_function_list = 'nextval,setval'