Thread: problem connecting client to a postgresSQL server
Hi!! Im Darwin a student from DATA COllege San Fernando Pampanga, Philppines. I am a new memeber in your mailing list. Hope you could accomodate me. I just want to consult anyone out there who could help me in my problem regarding "HOW TO CONNECT A CLIENT TO A POSTGRESSQL SERVER USING PERL ?". I am having a hard since August and its bugging me cause I could not finish my thesis. I'm hopping that a generous mind could share something about it. THANKS IN ADVANCE!!!! ____________________________________________________________________ **** Get your free E-Mail account at WWW.DIGITELONE.COM ****
On Fri, Nov 09, 2001 at 05:22:10PM +0800, darwin wrote: > Hi!! Im Darwin a student from DATA COllege San Fernando > Pampanga, Philppines. I am a new memeber in your mailing > list. Hope you could accomodate me. > > I just want to consult anyone out there who could help me in > my problem regarding "HOW TO CONNECT A CLIENT TO A > POSTGRESSQL SERVER USING PERL ?". I am having a hard since > August and its bugging me cause I could not finish my > thesis. > Use dbi. You will need the DBI and DBD::Pg modules. For more info see http://dbi.perl.org/. - Einar Karttunen
On Friday 09 November 2001 03:22, darwin wrote: > Hi!! Im Darwin a student from DATA COllege San Fernando > Pampanga, Philppines. I am a new memeber in your mailing > list. Hope you could accomodate me. > > I just want to consult anyone out there who could help me in > my problem regarding "HOW TO CONNECT A CLIENT TO A > POSTGRESSQL SERVER USING PERL ?". I am having a hard since > August and its bugging me cause I could not finish my > thesis. > > I'm hopping that a generous mind could share something about > it. Hi, Look into the Perl DBD/DBI interface. Hit http://www.cpan.org/ and do a search on DBI. Works like a charm. GB -- GB Clark II | Roaming FreeBSD Admin gclarkii@VSServices.COM | General Geek CTHULU for President - Why choose the lesser of two evils?
Hello GB, Install DBI modules for PgSQL and start working HERE IS SAMPLE PROGRAM ---------------------- PROGRAM STARTS HERE ----------------------- #! <your path to perl> use DBI; # DATABASE HANDLE DECLARATION my $dbHandle; # QUERY VARIABLE DECLARATION my $dbQuery; # QUERY VARIABLE HANDLE DECLARATION my $dbQueryHandle; # VARIABLE TO STORE THE HASH REFS my $dbRow; # ESTABLISH CONNECTION TO THE PG-SQL AND CONCERNED DATABASE $dbHandle=DBI->connect( "dbi:Pg:dbname=testdb", "username", "password") || die $DBI::errstr ; # QUERY A SIMPLE TABLE $dbQuery="select testcode,testname from testtab"; # PREPARE THE QUERY $dbQueryHandle=$dbHandle->prepare($dbQuery) || die $dbHandle->errstr; # EXECUTE THE QUERY $dbQueryHandle->execute || die $dbHandle->errstr; # FETCH A ROW if($dbRow=$dbHandle->fetchrow_hashref()) { # PRINT THE FETCHED RESULT SET print "\n TESTCODE: $dbRow->{testcode}"; print "\n TESTNAME: $dbRow->{testname}"; } $dbQueryHandle->finish || die $dbHandle->errstr; $dbHandle->disconnect || die $DBI::errstr; --------------------PROGRAM ENDS---------------------- if you're connecting to some remote machine, just add the IP address in the DBI connect statement. Hope I have helped u a bit -- Best regards, Gurudutt mailto:guru@indvalley.com Life is not fair - get used to it. Bill Gates Friday, November 09, 2001, 3:53:23 PM, you wrote: GCI> On Friday 09 November 2001 03:22, darwin wrote: >> Hi!! Im Darwin a student from DATA COllege San Fernando >> Pampanga, Philppines. I am a new memeber in your mailing >> list. Hope you could accomodate me. >> >> I just want to consult anyone out there who could help me in >> my problem regarding "HOW TO CONNECT A CLIENT TO A >> POSTGRESSQL SERVER USING PERL ?". I am having a hard since >> August and its bugging me cause I could not finish my >> thesis. >> >> I'm hopping that a generous mind could share something about >> it.
We also use this interface, very successfully. Apart from DBI, you will also need DBD::Pg Tielman J de Villiers BondNet Pty Ltd -----Original Message----- From: GB Clark II [mailto:gclarkii@vsservices.com] Sent: Friday, November 09, 2001 12:23 PM To: darwin; pgsql-general@postgresql.org Subject: Re: [GENERAL] problem connecting client to a postgresSQL server On Friday 09 November 2001 03:22, darwin wrote: > Hi!! Im Darwin a student from DATA COllege San Fernando Pampanga, > Philppines. I am a new memeber in your mailing list. Hope you could > accomodate me. > > I just want to consult anyone out there who could help me in my > problem regarding "HOW TO CONNECT A CLIENT TO A POSTGRESSQL SERVER > USING PERL ?". I am having a hard since August and its bugging me > cause I could not finish my thesis. > > I'm hopping that a generous mind could share something about it. Hi, Look into the Perl DBD/DBI interface. Hit http://www.cpan.org/ and do a search on DBI. Works like a charm. GB -- GB Clark II | Roaming FreeBSD Admin gclarkii@VSServices.COM | General Geek CTHULU for President - Why choose the lesser of two evils? ---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/users-lounge/docs/faq.html
I've got a very big program that I wrote using Pg.pm, and now I'd like to convert it to using DBD:Pg. Can anybody give me any general tips on how to do that? Just convert all the $conn->exec to $DBH->do, or is it more complicated than that? Also, the big program does a whole bunch of $conn->exec("SELECT * FROM tablename WHERE indexed_column = '$key'"); and things like that. Is there a way in DBD:Pg I can re-parse those queries with "...indexed_column = :1" and then supply a different key each time? I remember when I used to write C programs that accessed Oracle (about 8 years ago, so the details are hazy), that was a major performance improvement. -- Paul Tomblin <ptomblin@xcski.com>, not speaking for anybody "I had to kill him -- he was starting to make sense."
Paul Tomblin <ptomblin@xcski.com> writes: [converting Pg.pm to DBD::Pg] > Also, the big program does a whole bunch of > $conn->exec("SELECT * FROM tablename WHERE indexed_column = '$key'"); > and things like that. Is there a way in DBD:Pg I can re-parse those > queries with "...indexed_column = :1" and then supply a different key each > time? I remember when I used to write C programs that accessed Oracle > (about 8 years ago, so the details are hazy), that was a major performance > improvement. You can basically do: $stmt = $dbh->prepare("SELECT * FROM tablename WHERE indexed_column = ?"); $stmt->execute($key1); $stmt->execute($key2); This is nice because it will do any escaping in $key that needs to be done. However, PG doesn't cache query plans in this situation (unlike Oracle) so you won't see a big performance win. (Apologies if my syntax is off; I mostly use Java now.) -Doug -- Let us cross over the river, and rest under the shade of the trees. --T. J. Jackson, 1863