Re: psql COPY with JDBC

Lists: pgsql-jdbc
From: "Christopher Condit" <condit(at)sdsc(dot)edu>
To: "Guy Rouillier" <guyr(at)masergy(dot)com>, <pgsql-jdbc(at)postgresql(dot)org>
Subject: Re: psql COPY with JDBC
Date: 2006-04-03 23:39:24
Message-ID: 845AADAC1106E44996327D62097E4C6B8AA6E6@et.ad.sdsc.edu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-jdbc

Yes, that's true, but isn't it significantly faster to use the bulk
loader for many records.

-Chris

-----Original Message-----
From: pgsql-jdbc-owner(at)postgresql(dot)org
[mailto:pgsql-jdbc-owner(at)postgresql(dot)org] On Behalf Of Guy Rouillier
Sent: Monday, April 03, 2006 4:37 PM
To: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: [JDBC] psql COPY with JDBC

Christopher Condit wrote:
> Hi All-
> I've been trying over at the general postgres list with no luck, so I
> thought I'd try here. I need to bulk load results from a Java
> application on one machine to a postgres db on a remote server. I
> know I can use psql interactively to accomplish this, but I'd like to
> be able to do it programmatically: 1) I noticed that there was
> a COPY patch floating around a couple of years ago - does this still
> exist. If so, has it been updated for the latest JDBC driver? 2)
> Is there a better way to accomplish this than the above patch - with
> or without JDBC?

Well, since you are using a Java application, you are not limited to
COPY, correct? You can generate whatever output format you want. In
that case, you can generate INSERT statements, right?

--
Guy Rouillier

---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?

http://archives.postgresql.org


From: Markus Schaber <schabi(at)logix-tt(dot)com>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: psql COPY with JDBC
Date: 2006-04-04 16:22:16
Message-ID: 44329D38.7070808@logix-tt.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-jdbc

Hi, Christopher,

Christopher Condit wrote:
> Yes, that's true, but isn't it significantly faster to use the bulk
> loader for many records.

Have you tried the following:

Use a Prepared Statement for the insert, then addBatch() it and
executeBatch() it at the end, with autocommit off?

This should be the fastest non proprietary way to load data into a database.

HTH,
Markus

--
Markus Schaber | Logical Tracking&Tracing International AG
Dipl. Inf. | Software Development GIS

Fight against software patents in EU! www.ffii.org www.nosoftwarepatents.org