pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Michael L. Hostbaek <mich@freebsdcluster.org>
To: pgsql-sql@postgresql.org
Subject: postgresql multiple insert slow
Date: Thu, 19 Feb 2004 17:32:38 +0100
Message-ID: <20040219163238.GD10913@mich2.itxmarket.com> (raw)

Hello, 


I've got a table in an oracle database with approx. 100000 records, that
I'd like to put into a table in a postgresql database. (This should be
done a couple of times per week)

I have written a short perl script, on a server that has remote access
to both the oracle database as well as the postgresql database. I am
running postgresql 7.4.1 on FreeBSD.

My perl script looks something like this:

[...]
my $sth2 = $cnx2->prepare('SELECT * FROM oracle_table');
my $res2 = $sth2->execute();

while(my($field2,$field5,$field6) = ($sth2->fetchrow_array)) {
	if(defined($field2)) {
		my $sth = $cnx->prepare('INSERT INTO
the_pg_table(field1, field2) VALUES(?,?)');
		my $result = $sth->execute($field2,$field5);
		$sth->finish;

	}
}
[...]

I runs fine - and I get no errors - but it takes almost 25 minutes to
complete.. I tried running the script while just grabbing the rows from
the oracle database and writing to a text file - and then it only takes
a couple of minutes .. So it must be the INSERT command that chokes - is
there a better way to do it ? 

Any advise much appreciated.

/mich


-- 
Best Regards,
	Michael L. Hostbaek 

	*/ PGP-key available upon request /*



view thread (4+ messages)  latest in thread

Message-ID: <20040219163238.GD10913@mich2.itxmarket.com>
Permalink:  ../20040219163238.GD10913@mich2.itxmarket.com/
Also on:    postgresql.org/message-id/20040219163238.GD10913@mich2.itxmarket.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: mich@freebsdcluster.org
  Subject: Re: postgresql multiple insert slow
  In-Reply-To: <20040219163238.GD10913@mich2.itxmarket.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox