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
|
Список | 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 по дате отправления: