Stream data into Postgres via Perl

From: Kevin Old <kold(at)carolina(dot)rr(dot)com>
To: beginners(at)perl(dot)org
Cc: pgsql <pgsql-general(at)postgresql(dot)org>
Subject: Stream data into Postgres via Perl
Date: 2002-10-29 17:53:09
Message-ID: 1035913990.3633.9.camel@oc
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hello all,

I'm writing a script that will read pipe delimited data from a text file
and insert various fields into a Postgres table. Below is some code I'm
trying to optimize:

while (<FHD>) {
chomp; #removes \n
chop; #removes trailing pipe

@line = split(/\|/, $_, 502); #The line has 502 "fields" so
#them into an array
$dbh->do("INSERT INTO cdl_16master VALUES(nextval('cdl_16_seq'),\'" .
join("\',\'",
$line[0],$line[4],$line[5],$line[6],$line[10],$line[11],$line[14],$line[18],$lin
e[22],$line[25]) . "\')");
$dbh->commit();

} #end while

Just wondering if anyone has a better way of accessing the data in the
array or of storing the few fields I need temporarily until it gets
inserted into the database.

There's a better way to do this, but I'm just not thinking right.....any
suggestions are appreciated.

Thanks,

Kevin
kold(at)carolina(dot)rr(dot)com

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Bruce Momjian 2002-10-29 18:08:19 Re: supplying password to psql on command line?
Previous Message Robert John Shepherd 2002-10-29 17:28:49 TSearch and phrase searches