From: | "Woody Woodring" <george(dot)woodring(at)iglass(dot)net> |
---|---|
To: | "'pgsql-general General'" <pgsql-general(at)postgresql(dot)org> |
Subject: | Suggestions for blocking user inserts during admin bulk loading. |
Date: | 2009-03-11 14:01:43 |
Message-ID: | A9C1CF906D9546268F452426EB04B9D8@istructure.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
I have a table that users can update if the data is old. Once a day I
update every entry in the table. However I get primary key violations
occasionally which it seems a user inserted into the table while the bulk
insert is going on.
The following is the procedure I use for updating the entire table, mac is
the primary key:
truncate master;
create temp_table;
COPY "temp_table" (mac, . . .) FROM stdin WITH DELIMITER AS '|';
UPDATE master SET mac=temp_table.mac . . . FROM temp_table WHERE
master.mac=temp_table.mac;
LOCK master IN EXCLUSIVE MODE; -- Added this step to keep user out to avoid
conflicts, not really working
INSERT INTO master (mac, . . .) SELECT mac, . . . FROM temp_table WHERE mac
NOT IN (SELECT mac from master) ORDER BY mac;
Any suggestions would be appreciated,
Woody
----------------------------------------
iGLASS Networks
3300 Green Level Rd. West
Cary NC 27519
(919) 387-3550 x813
www.iglass.net
From | Date | Subject | |
---|---|---|---|
Next Message | Scott Marlowe | 2009-03-11 14:10:57 | Re: Suggestions for blocking user inserts during admin bulk loading. |
Previous Message | Kevin Grittner | 2009-03-11 14:01:22 | Re: tsearch2 dictionary for statute cites |