mirror of
https://github.com/postgres/postgres.git
synced 2025-06-08 22:02:03 +03:00
Attached is documentation describing plperlu differences from plperl.
Alex Pilosov
This commit is contained in:
parent
140ddb78fe
commit
9e39ffe4cd
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/plperl.sgml,v 2.8 2001/05/12 22:51:35 petere Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/plperl.sgml,v 2.9 2001/06/22 21:37:14 momjian Exp $
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<chapter id="plperl">
|
<chapter id="plperl">
|
||||||
@ -20,7 +20,8 @@ $Header: /cvsroot/pgsql/doc/src/sgml/plperl.sgml,v 2.8 2001/05/12 22:51:35 peter
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
The PL/Perl intepreter is a full Perl interpreter. However, certain
|
The PL/Perl interpreter (when installed as trusted interpreter with
|
||||||
|
default name 'plperl') intepreter is a full Perl interpreter. However, certain
|
||||||
operations have been disabled in order to maintain the security of
|
operations have been disabled in order to maintain the security of
|
||||||
the system. In general, the operations that are restricted are
|
the system. In general, the operations that are restricted are
|
||||||
those that interact with the environment. This includes filehandle
|
those that interact with the environment. This includes filehandle
|
||||||
@ -28,6 +29,11 @@ $Header: /cvsroot/pgsql/doc/src/sgml/plperl.sgml,v 2.8 2001/05/12 22:51:35 peter
|
|||||||
(for external modules). It should be noted that this security is
|
(for external modules). It should be noted that this security is
|
||||||
not absolute. Indeed, several Denial-of-Service attacks are still
|
not absolute. Indeed, several Denial-of-Service attacks are still
|
||||||
possible - memory exhaustion and endless loops are two examples.
|
possible - memory exhaustion and endless loops are two examples.
|
||||||
|
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
When PL/Perl is installed as 'untrusted' interpreter (with name 'plperlu'),
|
||||||
|
everything is permitted, and any perl code can be loaded (by superuser only).
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<sect1 id="plperl-install">
|
<sect1 id="plperl-install">
|
||||||
@ -76,6 +82,11 @@ gmake install
|
|||||||
language into a database.
|
language into a database.
|
||||||
<screen>
|
<screen>
|
||||||
<prompt>$</prompt> <userinput>createlang plperl template1</userinput>
|
<prompt>$</prompt> <userinput>createlang plperl template1</userinput>
|
||||||
|
</screen>
|
||||||
|
Alternatively, to create untrusted interpreter (where functions can only
|
||||||
|
be created by superuser, but the functions are not restricted), use:
|
||||||
|
<screen>
|
||||||
|
<prompt>$</prompt> <userinput>createlang plperlu template1</userinput>
|
||||||
</screen>
|
</screen>
|
||||||
If it is installed into template1, all future databases will have
|
If it is installed into template1, all future databases will have
|
||||||
the language installed automatically.
|
the language installed automatically.
|
||||||
@ -157,6 +168,15 @@ CREATE FUNCTION badfunc() RETURNS integer AS '
|
|||||||
' LANGUAGE 'plperl';
|
' LANGUAGE 'plperl';
|
||||||
</programlisting>
|
</programlisting>
|
||||||
The creation of the function will succeed, but executing it will not.
|
The creation of the function will succeed, but executing it will not.
|
||||||
|
|
||||||
|
Note that if same function was created by superuser using language
|
||||||
|
'plperlu', execution would succeed.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
Access to database itself from your perl function can be done via
|
||||||
|
an experimental module DBD::PgSPI, available at <ulink url="http://www.formenos.org/PgSPI/">this site</ulink>. This module makes available a DBI-compliant
|
||||||
|
database-handle named $pg_dbh, and you can use that to make queries with
|
||||||
|
normal DBI syntax.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
</sect1>
|
</sect1>
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $Header: /cvsroot/pgsql/src/backend/commands/Attic/creatinh.c,v 1.77 2001/05/14 20:30:20 momjian Exp $
|
* $Header: /cvsroot/pgsql/src/backend/commands/Attic/creatinh.c,v 1.78 2001/06/22 21:37:14 momjian Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -218,7 +218,7 @@ RemoveRelation(char *name)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* TruncateRelation --
|
* TruncateRelation
|
||||||
* Removes all the rows from a relation
|
* Removes all the rows from a relation
|
||||||
*
|
*
|
||||||
* Exceptions:
|
* Exceptions:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user