Thread: running script on the server
Hi, can any of the programming languages (perl, tcl) be used to exec a process on the server and open files? The scenario I have in mind would - copy some fields of a table to an external text file - have a script generate binary data from the text file - load that data into a large object The client would just select rebuild() Best regards Wolfgang Hamann -- gpg key: 92FCFB25
On 07/28/2015 08:28 PM, hamann.w@t-online.de wrote: > > Hi, > > can any of the programming languages (perl, tcl) be used to exec a process on the server > and open files? You are looking for untrusted. For Python that is the only way it comes, hence plpythonu(ntrusted) For Perl see here: http://www.postgresql.org/docs/9.4/interactive/plperl-trusted.html That is all I know about. > The scenario I have in mind would > - copy some fields of a table to an external text file > - have a script generate binary data from the text file So what exactly does the above step entail? Just wondering if it could be done without leaving the database? > - load that data into a large object > The client would just > select rebuild() > > Best regards > Wolfgang Hamann > > -- > > > gpg key: 92FCFB25 > > > > -- Adrian Klaver adrian.klaver@aklaver.com
Hi,
can any of the programming languages (perl, tcl) be used to exec a process on the server
and open files?
The scenario I have in mind would
- copy some fields of a table to an external text file
- have a script generate binary data from the text file
- load that data into a large object
The client would just
select rebuild()
Do you want all of the processing to be done on the server side? You need to look into creating an _untrusted_ language such as PL/Tclu, plperlu, or PL/Python (which is always / only untrusted). Those languages allow full access to the TCL, PERL, or Python language, including running other processes (which would run under the postgres UNIX id, not the client's id).
Just to remind you: THIS CAN BE DANGEROUS TO THE HEALTH OF YOUR SERVER! Your gun. Your ammo. Your foot. Aim carefully.
Best regards
Wolfgang Hamann
--
gpg key: 92FCFB25
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
Schrodinger's backup: The condition of any backup is unknown until a restore is attempted.
Yoda of Borg, we are. Futile, resistance is, yes. Assimilated, you will be.
He's about as useful as a wax frying pan.
10 to the 12th power microphones = 1 Megaphone
Maranatha! <><
John McKown
10 to the 12th power microphones = 1 Megaphone
Maranatha! <><
John McKown
Adrian Klaver wrote: >> On 07/28/2015 08:28 PM, hamann.w@t-online.de wrote: >> > >> > Hi, >> > >> > can any of the programming languages (perl, tcl) be used to exec a process on the server >> > and open files? >> >> You are looking for untrusted. >> >> For Python that is the only way it comes, hence plpythonu(ntrusted) >> >> For Perl see here: >> >> http://www.postgresql.org/docs/9.4/interactive/plperl-trusted.html >> >> That is all I know about. >> >> > The scenario I have in mind would >> > - copy some fields of a table to an external text file >> > - have a script generate binary data from the text file >> >> So what exactly does the above step entail? >> >> Just wondering if it could be done without leaving the database? Hi Adrian, the "untrusted" part seems to be the solution. The script consists of a perl part - text preprocessing likely to be changed - as well as a C program that actually builds the blob. I have a little experience with building postgresql binary modules, but I would prefer to keep the - tested - program separate. Copying data from the table and text preprocessing could run in plperl >> >> > - load that data into a large object >> > The client would just >> > select rebuild() Best regards Wolfgang Hamann -- gpg key: 92FCFB25