違うスキーマで同じテーブル名を定義していて、 SQL 文の中でスキーマ名を省略している場合に生じる可能性がある不具合を解消してくれるpgpool_regclass。
まずはinstall方法。すべてのPostgreSQLサーバで実施する。
$ cd pgpool-II-x.x.x/sql/pgpool-regclass
$ make
$ make install
$ psql -f pgpool-regclass.sql template1
確認するには
$ psql template1
template1=# select * from pg_catalog.pg_proc where proname = 'pgpool_regclass';
既に作成済(createdb db名)のデータベースがある場合は、psql -f pgpool-regclass.sql
をtemplate1だけでなく、作成済のdbに対しても行わなければならない。
template1にpgpool_regclassをinstallした後に作成するデータベースはpsql -f pgpool-regclass.sql
を実行する必要はない。
$ psql -f pgpool-regclass.sql some_db
$ psql some_db
some_db=# select * from pg_catalog.pg_proc where proname = 'pgpool_regclass';