Re: running a query file of 42MB - Mailing list pgsql-general
From | Pierre-Frédéric Caillaud |
---|---|
Subject | Re: running a query file of 42MB |
Date | |
Msg-id | opsjp4exf6cq72hf@musicbox Whole thread Raw |
In response to | Re: running a query file of 42MB ("Nefnifi, Kasem" <Kasem.Nefnifi@atosorigin.com>) |
List | pgsql-general |
Don't use OIDs for primary keys, please, please. Use a Sequence instead, and replace your SELECT oid by SELECT currval('sequence_name') On Tue, 28 Dec 2004 15:44:56 +0100, Nefnifi, Kasem <Kasem.Nefnifi@atosorigin.com> wrote: > dear all, > > it is okay, > the import by psql is faster and quit, it is running now. > i've found an error in the query, it was the decimal separator that must > be "." and not ",". > now it's working. > thx to all > kasem, > > -----Original Message----- > From: Nefnifi, Kasem > Sent: Tuesday, December 28, 2004 2:28 PM > To: pgsql-general@postgresql.org > Subject: [GENERAL] running a query file of 42MB > > > > I'm trying to run query generated by an import script. postgresql 8 > onder windows XP. > the file is about 42MB, i've opened this file by pgAdminIII and start > the query, it inserts data into 3 tables and after makes some update. > the time is too much and it hangs up without any commit. > > any body know another methode to run the query. > > i've tried with the command line psql, but get errors because the file > is like: > > insert into table1 (pkey) values ('xxx'); > insert into table2 (pkey,field) values ('yyy',(select OID from table1 > where pkey='xxx')); > update table1 set field1='a', field2='b', field3='c' where pkey = 'xxx'; > > insert into table1 (pkey) values ('xxx'); > insert into table2 (pkey,field) values ('zzz',(select OID from table1 > where pkey='xxx')); > update table1 set field1='u', field2='v', field3='q' where pkey = 'xxx'; > . > . > .etc > > the reason to do so is to get the OID for each record inserted into the > table1 and use that in the table2. > i've limited the query to 2 tables but there are more tables and also > more related fields from the same table. > > in the psql i've tried this: >> psql -d dbname -u username -f file.sql > i've also tried with >> psql -d dbname -u username < file.sql > > but get the error, pkey violatde. should i use a commit between each > record ? > > regards, > kasem, > **************************************************************************** > Disclaimer: > This electronic transmission and any files attached to it are strictly > confidential and intended solely for the addressee. If you are not > the intended addressee, you must not disclose, copy or take any > action in reliance of this transmission. If you have received this > transmission in error, please notify the sender by return and delete > the transmission. Although the sender endeavors to maintain a > computer virus free network, the sender does not warrant that this > transmission is virus-free and will not be liable for any damages > resulting from any virus transmitted. > Thank You. > **************************************************************************** > > ---------------------------(end of broadcast)--------------------------- > TIP 3: if posting/reading through Usenet, please send an appropriate > subscribe-nomail command to majordomo@postgresql.org so that your > message can get through to the mailing list cleanly > > ---------------------------(end of broadcast)--------------------------- > TIP 5: Have you checked our extensive FAQ? > > http://www.postgresql.org/docs/faqs/FAQ.html >
pgsql-general by date: