pgpool-Ⅱ 3.2 replication + load balanceで更新系クエリを含んだfunctionを実行すると、レプリケーションされない

2016/06/25

pgpool-Ⅱ 3.2 replication + load balanceでSQLの先頭にコメントを書いてはいけないで書いた内容と根本は同じだが、現象としては逆の現象が発生してしまった。

今回は更新系クエリを含んだfunctionなので、ロードバランスではなくレプリケーションされる必要がある。
しかし、functionの実行方法はselectをfunctionの前につけることなので、pgpool-Ⅱはロードバランスしてしまう。

対応方法は、pgpool.confのblack_function_listにfunctionを設定することが王道。あるいはwhite_function_listを利用しても良い。
正規表現も使えるので、functionの命名ルールは厳密に定めて開発すべき。

-PostgreSQL
-