Re: COPY using Hibernate

Поиск
Список
Период
Сортировка
От Maciek Sakrejda
Тема Re: COPY using Hibernate
Дата
Msg-id 895e58dd1001150842g6c9784c8r9bf78f5a7ce6f033@mail.gmail.com
обсуждение исходный текст
Ответ на Re: COPY using Hibernate  (Craig Ringer <craig@postnewspapers.com.au>)
Ответы Re: COPY using Hibernate  (Craig Ringer <craig@postnewspapers.com.au>)
Список pgsql-jdbc
The driver supports COPY as of 8.4-701. I finally (after much too long
a delay; I apologize again) made good on my promise to clean up Kalle
Hallivuori's patch with Truviso's internal fixes, and worked with Kris
to get it accepted last spring. The final version came out in July.

It looks like it's not there in the main documentation, but it *is* in
the javadoc. PGConection.getCopyAPI() is the entry point.
---
Maciek Sakrejda | Software Engineer | Truviso

1065 E. Hillsdale Blvd., Suite 230
Foster City, CA 94404
(650) 242-3500 Main
(650) 242-3501 F
msakrejda@truviso.com
www.truviso.com



On Fri, Jan 15, 2010 at 8:31 AM, Craig Ringer
<craig@postnewspapers.com.au> wrote:
> Vaibhav Patil wrote:
>
>> The other way I am trying is the pg/plsql stored procedure. As per the
>> requirement, I have to insert around a million integers in a table
>> having just one column. I am not aware of how to use "COPY FROM STDIN"
>> using pg/plsql. I'll pass these integers as array to stored procedure. I
>> want to avoid dependency of file, otherwise it could have been done
>> easily using "COPY FROM file". Looking for more information on internet
>> to solve the issue. If anybody aware of the way, please help me.
>
> It's a real pity the JDBC driver doesn't support the COPY protocol so
> you could just do this via PGConnection. There have been patches around
> for ages ... though I presume there are good reasons why they haven't
> been merged.
>
> Do check to make sure that the stored proc approach is actually faster
> than just doing batched multi-valued INSERTs. Open a transaction, then
> prepare a statement like this:
>
> INSERT INTO sometable VALUES (?),(?),(?),(?),(?);
>
> (but with say 20 parameters - you'll need to play around and see how
> many is optimal), then add a series of invocations of the prepared
> statement to a JDBC batch insert/update and execute it.
>
> I wouldn't be surprised if that was quite a bit faster than doing it
> with an array and PL/PgSQL.
>
> --
> Craig Ringer
>
> --
> Sent via pgsql-jdbc mailing list (pgsql-jdbc@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-jdbc
>

В списке pgsql-jdbc по дате отправления:

Предыдущее
От: Craig Ringer
Дата:
Сообщение: Re: COPY using Hibernate
Следующее
От: "John T. Dow"
Дата:
Сообщение: Re: refreshRow is slow