473,403 Members | 2,354 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,403 software developers and data experts.

Database accesss using plperl

I have plperl installed my PostgreSQL 7.4.2 server, but from what I
understand in chapter 39.3 of the docs, you cannot access the databases
without DBD::PgSPI. According to the readme for that module, it will
only run on the untrusted plperlu.

Is this the only way to run queries (SELECT, INSERT, UPDATE) using
plperl?

What are the consequences and things to look out for when running
untrusted languages?

--
Robert
---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

Nov 23 '05 #1
10 1474

On 16/06/2004 21:27 Robert Fitzpatrick wrote:
I have plperl installed my PostgreSQL 7.4.2 server, but from what I
understand in chapter 39.3 of the docs, you cannot access the databases
without DBD::PgSPI. According to the readme for that module, it will
only run on the untrusted plperlu.

Is this the only way to run queries (SELECT, INSERT, UPDATE) using
plperl?


Are you talking about writing functions/stored procedures in PERL or
accessing the database from a PERL program because what you have read is
specific to functions/stored procedures. (sorry for the bad/absent
punctuation but I've just come back from the pub after a generous quantity
of Old Speckled Hen)

--
Paul Thomas
+------------------------------+---------------------------------------------+
| Thomas Micro Systems Limited | Software Solutions for
Business |
| Computer Consultants |
http://www.thomas-micro-systems-ltd.co.uk |
+------------------------------+---------------------------------------------+

---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

Nov 23 '05 #2

On 16/06/2004 21:27 Robert Fitzpatrick wrote:
I have plperl installed my PostgreSQL 7.4.2 server, but from what I
understand in chapter 39.3 of the docs, you cannot access the databases
without DBD::PgSPI. According to the readme for that module, it will
only run on the untrusted plperlu.

Is this the only way to run queries (SELECT, INSERT, UPDATE) using
plperl?


Are you talking about writing functions/stored procedures in PERL or
accessing the database from a PERL program because what you have read is
specific to functions/stored procedures. (sorry for the bad/absent
punctuation but I've just come back from the pub after a generous quantity
of Old Speckled Hen)

--
Paul Thomas
+------------------------------+---------------------------------------------+
| Thomas Micro Systems Limited | Software Solutions for
Business |
| Computer Consultants |
http://www.thomas-micro-systems-ltd.co.uk |
+------------------------------+---------------------------------------------+

---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

Nov 23 '05 #3
On Wed, 2004-06-16 at 19:05, Paul Thomas wrote:
On 16/06/2004 21:27 Robert Fitzpatrick wrote:
I have plperl installed my PostgreSQL 7.4.2 server, but from what I
understand in chapter 39.3 of the docs, you cannot access the databases
without DBD::PgSPI. According to the readme for that module, it will
only run on the untrusted plperlu.

Is this the only way to run queries (SELECT, INSERT, UPDATE) using
plperl?


Are you talking about writing functions/stored procedures in PERL or
accessing the database from a PERL program because what you have read is
specific to functions/stored procedures. (sorry for the bad/absent
punctuation but I've just come back from the pub after a generous quantity
of Old Speckled Hen)


I'm talking about writing PostgreSQL stored procedures using Perl that
access the database via queries (like pl/pgsql, maybe using DBI:Pg) for
SELECTs, INSERTs, UPDATEs, etc.

--
Robert
---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
joining column's datatypes do not match

Nov 23 '05 #4
On Wed, 2004-06-16 at 19:05, Paul Thomas wrote:
On 16/06/2004 21:27 Robert Fitzpatrick wrote:
I have plperl installed my PostgreSQL 7.4.2 server, but from what I
understand in chapter 39.3 of the docs, you cannot access the databases
without DBD::PgSPI. According to the readme for that module, it will
only run on the untrusted plperlu.

Is this the only way to run queries (SELECT, INSERT, UPDATE) using
plperl?


Are you talking about writing functions/stored procedures in PERL or
accessing the database from a PERL program because what you have read is
specific to functions/stored procedures. (sorry for the bad/absent
punctuation but I've just come back from the pub after a generous quantity
of Old Speckled Hen)


I'm talking about writing PostgreSQL stored procedures using Perl that
access the database via queries (like pl/pgsql, maybe using DBI:Pg) for
SELECTs, INSERTs, UPDATEs, etc.

--
Robert
---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
joining column's datatypes do not match

Nov 23 '05 #5
On 17/06/2004 15:56 Robert Fitzpatrick wrote:
[snip]
I'm talking about writing PostgreSQL stored procedures using Perl that
access the database via queries (like pl/pgsql, maybe using DBI:Pg) for
SELECTs, INSERTs, UPDATEs, etc.


Then DBI:PgSPI is what you want. AFAIK, DBI:Pg is for client-side only.

HTH

--
Paul Thomas
+------------------------------+---------------------------------------------+
| Thomas Micro Systems Limited | Software Solutions for
Business |
| Computer Consultants |
http://www.thomas-micro-systems-ltd.co.uk |
+------------------------------+---------------------------------------------+

---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to ma*******@postgresql.org)

Nov 23 '05 #6
On 17/06/2004 15:56 Robert Fitzpatrick wrote:
[snip]
I'm talking about writing PostgreSQL stored procedures using Perl that
access the database via queries (like pl/pgsql, maybe using DBI:Pg) for
SELECTs, INSERTs, UPDATEs, etc.


Then DBI:PgSPI is what you want. AFAIK, DBI:Pg is for client-side only.

HTH

--
Paul Thomas
+------------------------------+---------------------------------------------+
| Thomas Micro Systems Limited | Software Solutions for
Business |
| Computer Consultants |
http://www.thomas-micro-systems-ltd.co.uk |
+------------------------------+---------------------------------------------+

---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to ma*******@postgresql.org)

Nov 23 '05 #7
--- Paul Thomas <pa**@tmsl.demon.co.uk> wrote:
On 17/06/2004 15:56 Robert Fitzpatrick wrote:
[snip]
I'm talking about writing PostgreSQL stored procedures using Perl that
access the database via queries (like pl/pgsql,

maybe using DBI:Pg) for
SELECTs, INSERTs, UPDATEs, etc.


Then DBI:PgSPI is what you want. AFAIK, DBI:Pg is
for client-side only.


CommandPrompt has their own beta version of pl/perl,
which does database queries:

http://www.commandprompt.com/index.lxp?lxpt=22

This is certainly more actively developed than
DBI:PgSPI, which only ever was an experimental,
hackish workaround for the missing functionality.

HTH

--
Paul Thomas
+------------------------------+---------------------------------------------+ | Thomas Micro Systems Limited | Software Solutions
for
Business |
| Computer Consultants |
http://www.thomas-micro-systems-ltd.co.uk |
+------------------------------+---------------------------------------------+
---------------------------(end of
broadcast)---------------------------
TIP 2: you can get off all lists at once with the
unregister command
(send "unregister YourEmailAddressHere" to
ma*******@postgresql.org)



__________________________________
Do you Yahoo!?
New and Improved Yahoo! Mail - Send 10MB messages!
http://promotions.yahoo.com/new_mail

---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
joining column's datatypes do not match

Nov 23 '05 #8
--- Paul Thomas <pa**@tmsl.demon.co.uk> wrote:
On 17/06/2004 15:56 Robert Fitzpatrick wrote:
[snip]
I'm talking about writing PostgreSQL stored procedures using Perl that
access the database via queries (like pl/pgsql,

maybe using DBI:Pg) for
SELECTs, INSERTs, UPDATEs, etc.


Then DBI:PgSPI is what you want. AFAIK, DBI:Pg is
for client-side only.


CommandPrompt has their own beta version of pl/perl,
which does database queries:

http://www.commandprompt.com/index.lxp?lxpt=22

This is certainly more actively developed than
DBI:PgSPI, which only ever was an experimental,
hackish workaround for the missing functionality.

HTH

--
Paul Thomas
+------------------------------+---------------------------------------------+ | Thomas Micro Systems Limited | Software Solutions
for
Business |
| Computer Consultants |
http://www.thomas-micro-systems-ltd.co.uk |
+------------------------------+---------------------------------------------+
---------------------------(end of
broadcast)---------------------------
TIP 2: you can get off all lists at once with the
unregister command
(send "unregister YourEmailAddressHere" to
ma*******@postgresql.org)



__________________________________
Do you Yahoo!?
New and Improved Yahoo! Mail - Send 10MB messages!
http://promotions.yahoo.com/new_mail

---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
joining column's datatypes do not match

Nov 23 '05 #9
Further to my earlier email: the CommandPrompt
pl/perl appears to handle trigger functions, but not
direct database access? Someone correct me if I'm
wrong.

So DBI:PgSPI may still be the only way to query the
database from a function using Perl. But are you sure
you really have to use Perl? If you are looking for a
language other than pl/pgsql to do queries from
functions, look at pl/tcl; I think that pl/python and
pl/ruby may also have some capability to do what you
want.

--- Paul Thomas <pa**@tmsl.demon.co.uk> wrote:
On 17/06/2004 15:56 Robert Fitzpatrick wrote:
[snip]
I'm talking about writing PostgreSQL stored procedures using Perl that
access the database via queries (like pl/pgsql,

maybe using DBI:Pg) for
SELECTs, INSERTs, UPDATEs, etc.


Then DBI:PgSPI is what you want. AFAIK, DBI:Pg is
for client-side only.

HTH

--
Paul Thomas

+------------------------------+---------------------------------------------+ | Thomas Micro Systems Limited | Software Solutions
for
Business |
| Computer Consultants |
http://www.thomas-micro-systems-ltd.co.uk |
+------------------------------+---------------------------------------------+
---------------------------(end of
broadcast)---------------------------
TIP 2: you can get off all lists at once with the
unregister command
(send "unregister YourEmailAddressHere" to
ma*******@postgresql.org)



__________________________________
Do you Yahoo!?
New and Improved Yahoo! Mail - Send 10MB messages!
http://promotions.yahoo.com/new_mail

---------------------------(end of broadcast)---------------------------
TIP 7: don't forget to increase your free space map settings

Nov 23 '05 #10
Further to my earlier email: the CommandPrompt
pl/perl appears to handle trigger functions, but not
direct database access? Someone correct me if I'm
wrong.

So DBI:PgSPI may still be the only way to query the
database from a function using Perl. But are you sure
you really have to use Perl? If you are looking for a
language other than pl/pgsql to do queries from
functions, look at pl/tcl; I think that pl/python and
pl/ruby may also have some capability to do what you
want.

--- Paul Thomas <pa**@tmsl.demon.co.uk> wrote:
On 17/06/2004 15:56 Robert Fitzpatrick wrote:
[snip]
I'm talking about writing PostgreSQL stored procedures using Perl that
access the database via queries (like pl/pgsql,

maybe using DBI:Pg) for
SELECTs, INSERTs, UPDATEs, etc.


Then DBI:PgSPI is what you want. AFAIK, DBI:Pg is
for client-side only.

HTH

--
Paul Thomas

+------------------------------+---------------------------------------------+ | Thomas Micro Systems Limited | Software Solutions
for
Business |
| Computer Consultants |
http://www.thomas-micro-systems-ltd.co.uk |
+------------------------------+---------------------------------------------+
---------------------------(end of
broadcast)---------------------------
TIP 2: you can get off all lists at once with the
unregister command
(send "unregister YourEmailAddressHere" to
ma*******@postgresql.org)



__________________________________
Do you Yahoo!?
New and Improved Yahoo! Mail - Send 10MB messages!
http://promotions.yahoo.com/new_mail

---------------------------(end of broadcast)---------------------------
TIP 7: don't forget to increase your free space map settings

Nov 23 '05 #11

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
by: Patrick Hatcher | last post by:
Trying to create a plperl function to strip non-friendly mainframe characters from a string. However, when I try to add the Trademark symbol (â„¢) as a replace criteria, PG spits back an error:...
2
by: Christopher Murtagh | last post by:
Greetings, I'm trying to build 7.3.4 and I've come across two problems, one during the configure and the other afterward. Problem 1) Trying to build with openssl support gives this: ...
4
by: Ed L. | last post by:
I'm trying to load plperl to experiment with it in 7.3.4 with perl v5.8.0. I've basically tried the following: configure --with-perl, then initdb, then start postmaster, then createlang...
0
by: Rob Cheshire | last post by:
Hi to all, I need some help deciding on the best database system for our specific application. OPTIONAL INFO: We currently have 2 separate projects that need to be updated from dos-based dBase. ...
6
by: Guoqi Zheng | last post by:
It is a little strange but I got 105 connections on the database of my new application. It sounds that each time, one user login, the connections always remains there for forever. I am always...
7
by: JT | last post by:
I have a web page with 5 text boxes. I have an access database with 5 fields that correspond to the text boxes. I need to put the information that the user inputs to the text boxes in my...
0
by: Robert Fitzpatrick | last post by:
I have plperl installed my PostgreSQL 7.4.2 server, but from what I understand in chapter 39.3 of the docs, you cannot access the databases without DBD::PgSPI. According to the readme for that...
3
by: Eric E | last post by:
Hi, I have an installation of Postgres 7.4.2 on SuSE 9.1. This version of SuSE comes with a binary for plperl and several other postgres procedural languages. All the others, including plpgsql...
0
by: rski | last post by:
I've installed postgres v. 8.2.4 with plperl support (--with-perl option with configure). But when I try to create plperl languge (createlang plperl) i've got an error createlang: language...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.