The following features are currently missing from PL/Perl, but they would make welcome contributions.
PL/Perl functions cannot call each other directly (because they are anonymous subroutines inside Perl).
SPI is not yet fully implemented.
If you are fetching very large data sets using
spi_exec_query
, you should be aware that
these will all go into memory. You can avoid this by using
spi_query
/spi_fetchrow
as
illustrated earlier.
A similar problem occurs if a set-returning function passes a
large set of rows back to PostgreSQL via return
. You
can avoid this problem too by instead using
return_next
for each row returned, as shown
previously.