http://qs1969.pair.com?node_id=11131789


in reply to Re^3: Perl Contempt in My Workplace
in thread Perl Contempt in My Workplace

thanks karlgoethebier! I was not aware of this. PL/Perl can return hashrefs and arrayrefs too! This removes a lot of boilerplate from scripts and puts it exactly where it belongs to: in the guts and out of sight.

Update: the following caveat does not apply to the recent versions of PL/Python. See nodes below.

On the other hand, it offers something similar for python but with this caveat:

As of PostgreSQL 7.4, PL/Python is only available as an "untrusted" language, meaning it does not offer any way of restricting what users can do in it. It has therefore been renamed to plpythonu. The trusted variant plpython might become available again in future, if a new secure execution mechanism is developed in Python. The writer of a function in untrusted PL/Python must take care that the function cannot be used to do anything unwanted, since it will be able to do anything that could be done by a user logged in as the database administrator. Only superusers can create functions in untrusted languages such as plpythonu.

bw, bliako

Replies are listed 'Best First'.
Re^5: Perl Contempt in My Workplace
by erix (Prior) on Apr 29, 2021 at 07:48 UTC

    I can't find that in postgres docs, so it looks like you copied that from docs of an old version (version 9.4 is not even supported anymore) (this particular content is still true, though). Annoyingly, google often serves up old pages before more up-to-date ones.

    (There is a 'current' link on top of every postgres doc page, and a link for all supported versions, as well as a link into the docs of the development branch, at the moment 14devel -- and btw: 14beta is expected in a few weeks)

    Ah well...

      I can't find that in postgres docs, so it looks like you copied that from docs of an old version (version 9.4 is not even supported anymore)

      It was still there in the docs for version 10 (which is currently supported), although it does seem to be missing from later versions. I used duckduckgo to find this.


      🦛

        Well, as I said, the content of the text that I referred to (i.e., the text that bliako quoted) is still true but that text as quoted is in newer versions removed, rephrased, whatever you want to call it.

        I was just trying to get people to be aware that search engines throw up old postgresql documentation.

        It would be nice if here on perlmonks the URLs into the postgresql docs used the '/current/' unless old behaviour is specifically meant or targeted.

      OK, I will wait a bit before striking out what I posted regarding Python or until you confirm that PL/Python is safe now. Thanks for the correction.