[pgpool-general: 1865] Re: PgPool Function Errors (Installation Issue?)

Tatsuo Ishii ishii at postgresql.org
Tue Jun 25 23:58:35 JST 2013


> Hi all,
> 
> I have a PgPool installation (3.2.4) that is, on the whole, working very
> well. However, I have noticed some interesting entries in the log files:
> 
> --- Begin Log Entry ---
> 
> BST ERROR:  function "pgpool_regclass(cstring)" does not exist
> BST STATEMENT:  SELECT count(*) FROM pg_catalog.pg_proc AS p WHERE
> p.proname = 'pgpool_regclass' AND has_function_privilege('postgres',
> 'pgpool_regclass(cstring)', 'execute')
> 
> --- End Log Entry ---
> 
> I had installed the system correctly (as far as I can tell - i.e. all
> the PgPool functions were compiled and installed without any issues),
> and I executed the SQL queries against the 'postgres' and 'template1'
> databases - indeed, querying for the installed functions (hopefully, the
> text all lines up!):
> 
> postgres=# SELECT proname, prosrc
>                         FROM pg_catalog.pg_namespace n
>                         JOIN pg_catalog.pg_proc p
>                        ON pronamespace = n.oid
>                        WHERE nspname = 'public';
>        proname      |                                 prosrc
> -------------------+----------------------------------------------------
> --------------------
>  last_day		|
> 			:   SELECT (date_trunc('MONTH', $1) + INTERVAL
> '1 MONTH - 1 day')::date;
> 			:
>  pgpool_regclass	| pgpool_regclass
>  pgpool_recovery	| pgpool_recovery
>  pgpool_remote_start	| pgpool_remote_start
>  pgpool_switch_xlog	| pgpool_switch_xlog
>  pgpool_walrecrunning	| pgpool_walrecrunning
> (6 rows)
> 
> I have also used pg_dumpall from another system, and imported another
> set of databases into the PgPool system, and I have started to see the
> error I quoted above when I run simple queries on the additional
> databases...
> 
> My questions:
> 
> Should the pgpool functions be installed against all databases within
> the cluster (i.e. 'postgres', 'template1', and any other subsequent
> database)?

Yes. From the pgpool doc:

"Executing pgpool-regclass.sql should be performed on every databases
accessed with pgpool-II. You do not need to do this for a database
created after the execution of "psql -f pgpool-regclass.sql
template1", as this template database will be cloned to create new
databases."

> Is this is significant problem?

Unless you have same name tables on different schemas, it should not
be a problem.

> Is this a known problem?
> 
> I can make the errors go away by adding the functions to the offending
> database...

The function is dfinitely in your public schema. Do you access pgpool
with changing default search path? For example, do you remove public
schema from the search path?
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese: http://www.sraoss.co.jp


More information about the pgpool-general mailing list