>> Ok. I think this is the cause of the problem: >> >>> 2011-09-21 16:23:11 LOG: pid 23588: find_primary_node: >>> pgpool_walrecrunning does not exist >> >> I think you did not install pgpool_walrecrunning() on DB node 2. In >> this case find_primary_node() returns -1 and it is stored in >> >> Req_info->primary_node_id = find_primary_node(); >> >> It is used as the parameter for TSTAE macro, which actually accesses >> out of array because of -1. >> >> 1250 state = TSTATE(backend, >> >> So the solution would be installing pgpool_walrecrunning() on DB node 2. > > Thanks for looking at this. I'm admittedly rather confused. Where is > pgpool_walrerunning() documented? I looked through the official > documentation ( > http://pgpool.projects.postgresql.org/pgpool-II/doc/pgpool-en.html ) > and don't see any references. I also checked the official tutorial ( > http://pgpool.projects.postgresql.org/pgpool-II/doc/tutorial-en.html ) > and didn't see any references.
The documents in the URL above is for the latest stable release of pgpool-II 3.1 and the version does not require installing the function anymore. Version specific docs are coming with under doc/ directory in the source code. > After googling it sounds like I need to run > /usr/share/pgpool-II/sql/walrecrunning/pgpool-walrecrunning.sql > against the postgres database (on the master, at which point it will > automatically replicate to the standby's)? > That seems to work fine: > $ psql -h cuda-db2 -U postgres -d postgres -f pgpool-walrecrunning.sql > CREATE FUNCTION > $ psql -h cuda-db2 -U postgres -d postgres -c "select pgpool_walrecrunning();" > pgpool_walrecrunning > ---------------------- > f > (1 row) > > Trying to install it on either of the standby servers fails > (expectedly, since they're readonly): > $ psql -h cuda-db0 -U postgres -d postgres -f pgpool-walrecrunning.sql > psql:pgpool-walrecrunning.sql:4: ERROR: cannot execute CREATE > FUNCTION in a read-only transaction > $ psql -h cuda-db0 -U postgres -d postgres -c "select pgpool_walrecrunning();" > ERROR: could not access file "$libdir/pgpool-walrecrunning": No such > file or directory > > I restarted pgpool, after running the above. Please let me know if I > need to do anything else to resolve this. It seems cuda-db0 lacks pgpool-walrecrunning.so. Have you ever installed it? -- Tatsuo Ishii SRA OSS, Inc. Japan English: http://www.sraoss.co.jp/index_en.php Japanese: http://www.sraoss.co.jp _______________________________________________ Pgpool-general mailing list [email protected] http://pgfoundry.org/mailman/listinfo/pgpool-general
