Storing an array to Postgresql table

From: "Mark J(dot) Bailey" <mjb(at)jobsoft(dot)com>
To: pgsql-novice(at)postgresql(dot)org
Subject: Storing an array to Postgresql table
Date: 2005-06-17 14:04:32
Message-ID: 11b5m6cru6tuo9e@corp.supernews.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

Hello,

I am a decently proficient perl programmer of many years. I am recently
taking up PostgreSQL in a project involving perl. In my perl script, I
am parsing a multiline "|" delimited "report" and assembling all the
lines for a particular "record" in the report into one long "|"
delimited string that I then split:

@fields=split('\|',$l);

resulting in the array @fields containing the entire "record" in
question (one "field" per array element).

In postgresql, I have created a table whose columns are essentially in
the exact same layout as the array elements (i.e., the table's column1
is logically the equiv to the array's element 0, i.e. $fields[0]).

so, what i am looking for essentially is an equiv to "COPY FROM" except
the "source" is @fields and not a file. and/or some way to the
fetchrow_array method in perl DBI works (but in reverse where i have the
array @fields and i simply want to storerow_array (though I realize
that fetchrow_array is working with a cursor where something like a
storerow_array is more direct)). Is there anything like "tie" for
arrays and DBI in perl like you have for the perl "DB_File" module?

i am planning on using DBI and DBD::Pg. Should I consider PgPerl
instead? Perl is 5.6 on a redhat fedora core 3 server. postgresql is
8.0.3. speed is somewhat a concern as I have (at times) several hundred
thousand "records" from the data source "report" to load and have a
limited amount of time to process on the server each night.

Thanks,

Mark

_______________________________________________________
Mark J. Bailey, CEO Jobsoft Design & Development, Inc.
277 Wilson Pike Circle, Suite 105, Brentwood, TN 37027
EMAIL: mjb(at)jobsoft(dot)com WEB: http://www.jobsoft.com/
Medimation / CardShot(tm) http://www.medimation.com/
Skylert(tm) -"Stay Alert, Stay Alive!"- www.skylert.com
(615)425-0932x20 FAX:(615)425-0935 CELL:(615)308-9099

Responses

Browse pgsql-novice by date

  From Date Subject
Next Message Tom Lane 2005-06-17 14:25:28 Re: multiple inserts
Previous Message Andreas Kretschmer 2005-06-17 14:02:18 Re: [despammed] multiple inserts