Re: plperl and the dynamic loader - Mailing list pgsql-hackers

From Tom Lane
Subject Re: plperl and the dynamic loader
Date
Msg-id 9867.958930470@sss.pgh.pa.us
Whole thread Raw
In response to plperl and the dynamic loader  ("Ragnar Hakonarson" <rhakonarson@conquestnetwork.com>)
List pgsql-hackers
"Ragnar Hakonarson" <rhakonarson@conquestnetwork.com> writes:
> Does plperl not load libraries dynamically?

> I am trying to import a .pm module from plperl and I get the following error
> message:
>     creation of function failed : require trapped by operation mask at (eval 28) line 2.

Makes sense to me.  plperl runs in a "safe" Perl interpreter, and if you
could load arbitrary perl code then the safety would be bypassed.

The reason for this restriction is that whatever the Perl code does will
be done with the permissions of the Postgres user (since it's running in
a Postgres-owned backend).  It'd be a huge security hole if users could
invoke arbitrary Perl code in that environment.  So, we only permit
"safe" operations.

If you like living dangerously you could weaken the protection to suit
your taste --- read about the Safe and Opcode perl modules, and then
twiddle the plperl source code to select whatever operator mask you
feel comfortable with.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: [SQL] Foreign keys breaks tables permissions
Next
From: Tom Lane
Date:
Subject: Re: No more <>