--- postgresql-9.0.4/src/pl/plperl/plperl.c 2011-04-15 05:15:53.000000000 +0200 +++ postgresql-9.0.4/src/pl/plperl/plperl.c 2011-05-25 10:01:08.543018259 +0200 @@ -874,7 +874,7 @@ if (!isGV_with_GP(sv) || !GvCV(sv)) continue; SvREFCNT_dec(GvCV(sv)); /* free the CV */ - GvCV(sv) = NULL; /* prevent call via GV */ + GvCV_set(sv, NULL); /* prevent call via GV */ } hv_clear(stash); --- postgresql-9.0.4/src/pl/plperl/plperl.h 2011-04-15 05:15:53.000000000 +0200 +++ postgresql-9.0.4/src/pl/plperl/plperl.h 2011-05-25 10:12:02.358018289 +0200 @@ -53,6 +53,8 @@ void plperl_spi_freeplan(char *); void plperl_spi_cursor_close(char *); - +#ifndef GvCV_set +# define GvCV_set(gv, cv) (GvCV(gv)=(cv)) +#endif #endif /* PL_PERL_H */