公式マニュアルにちゃんと書いてあるのですが、私が見逃していたのでメモします。

マニュアルの日本語を読まないで、コマンドだけを見てると
cd pgpool-II-x.x.x/sql
psql -f insert_lock.sql template1
と書いてあるので、上記コマンドだけ実行します。
が…上記コマンドは「データベース毎」に実行して、pgpool_catalog.insert_lockというテーブルを作成する必要があります。

「データベース毎」に実行する…というのは、どういうことでしょうか。
例えばhogehogeというユーザーがcreatedbでデータベースを作成すると、デフォルトではhogehogeという名前のデータベースが作成されます。
「データベース毎」に実行する…というのはhogehogeというデータベースがあるのなら
psql -f insert_lock.sql hogehoge
を実行する…ということです。

insert_lock.sqlには
CREATE TABLE pgpool_catalog.insert_lock(reloid OID PRIMARY KEY);
他…が書いてあります。
pgpool_catalog.insert_lockはpgpoolがINSERT文を発行するときの排他制御に使われます。

pgpool_catalog.insert_lockがないと、pgpoolはINSERT対象のテーブルにロックをかけます。

INSERTがとても多いテーブル…例えばなんらかのログを記録していくテーブルの場合、INSERTするたびにテーブルにロックをかけていく動作は致命的です。
公式マニュアルには「VACUUMと競合してINSERT処理が長時間が待たされる可能性があります」と書かれています。
最悪待ち時間が長すぎてpgpoolを利用しているアプリケーションに待ちが発生し、待ちが長すぎてサービスが停止します。
※実際にErogameScapeのサービスは停止しました。

マニュアルはちゃんと読みましょう…

※ちなみに私が「なにかおかしいな…」と気がついたのは、確かtopコマンドの出力を眺めていて、SHARE ROW EXCLUSIVEでロックがはいっているのを見たからでした。
SHARE ROW EXCLUSIVEは明示的に指定しないと使われないロックです。
なんでこんなロックが入っているのかな…と思って調べていたら、この記事の内容に気がつきました。