On 10/26/16 2:25 PM, Merlin Moncure wrote:
I don't think that's the case. sqsh is a psql-like utility. it writes to stdout and stderr only which is captured by plsh and sent. In this context shexec only wraps rm -f 'file' where 'file' is a file previously created with COPY in the same transaction.
How do you know that? It could potentially be doing anything it wanted with file handles. Removing the exec might "solve" the problem here, assuming that the forked process doesn't still inherit all open FH's.
In a nutshell, running arbitrary shell code (let alone arbitrary executables) in a pl that's running inside the Postgres backend sounds insanely risky to me.
-- Jim Nasby, Data Architect, Blue Treble Consulting, Austin TX Experts in Analytics, Data Architecture and PostgreSQL Data in Trouble? Get it in Treble! http://BlueTreble.com 855-TREBLE2 (855-873-2532) mobile: 512-569-9461 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers