3 ms·
Just because its a programming language. It can write to disk, open sockets, etc. "As of PostgreSQL 7.4, PL/Python is only available as an "untrusted" language
by JonnieCache 12y ago
Just because its a programming language. It can write to disk, open sockets, etc.
"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."
http://www.postgresql.org/docs/current/static/plpython.html http://www.postgresql.org/docs/current/static/plpython.html
Incidentally I've been merging my json in perl. It's automatically built into postgres, and the Hash::Merge library with it's configurable behaviour is very handy. Still, looking forward to not doing that. 9.4 is coming before xmas, right?
- yangyang 12y agoThat's not strictly true; PL/Perl is (obviously) a programming language and is available in trusted (with certain operations disabled) and untrusted variants: see [1]. The issue with PL/Python is that it's nigh on impossible to properly sandbox Python. [1] http://www.postgresql.org/docs/9.3/static/plperl-trusted.html http://www.postgresql.org/docs/9.3/static/plperl-trusted.htm...