Bulk inserts within a Perl script?

From: "Kynn Jones" <kynnjo(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Bulk inserts within a Perl script?
Date: 2006-04-18 23:03:46
Message-ID: c2350ba40604181603m602b780dy1f905a7d83b151cb@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

I have a Perl script that is supposed to make a large number of inserts in a
PostgreSQL database. Performing individual inserts with SQL's INSERT
command is too slow, however, I can use a "COPY ... from stdin" approach
that is fast enough. Basically, I fork a psql process (yes, I'm on
unix) and have the parent write the new records into the child, as part of a
COPY from stdin command. Admittedly, this is very convoluted, but it works.

Well, it almost works. It did in my preliminary tests, but failed in the
real run with the actual database because the owner of the tables that get
modified by this COPY statement is a user for which the psql command
requires a password (i.e. this user exists solely for the purpose of owning
the database in question; it does not have a UID, nor disk space assigned to
it), and I don't know how to give this password programmatically.

So I'm back at the drawing board. How can I make fast bulk inserts into a
PostgreSQL database from within a Perl script?

Thanks!

kj

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Steve Atkins 2006-04-18 23:14:03 Re: Bulk inserts within a Perl script?
Previous Message Tom Lane 2006-04-18 22:21:07 Re: Partial indexes