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
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
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
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
On Tue, Jul 28, 2015 at 10: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?
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).
http://www.postgresql.org/docs/9.4/static/plpython.html
http://www.postgresql.org/docs/9.4/static/plperl-trusted.html
http://www.postgresql.org/docs/9.4/static/pltcl-overview.html
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
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 fileSo 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
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general