Re: duplicates
От | Michael Paesold |
---|---|
Тема | Re: duplicates |
Дата | |
Msg-id | 00ea01c4940d$59f54b30$ad01a8c0@zaphod обсуждение исходный текст |
Ответ на | duplicates (Tsirkin Evgeny <tsurkin@mail.jct.ac.il>) |
Ответы |
Unable to connect to a specific database
|
Список | pgsql-admin |
Tsirkin Evgeny wrote: > one moer question ,how did you tested it? > > > I have tested this here. I don't really know if this is just the case with > > Best Regards, > > Michael Paesold First I created the your schedule table. Then I opened two psql sessions... Session A Session B BEGIN; SET TRANSACTION ISOLATION LEVEL SERIALIZABLE; DELETE FROM schedule WHERE studentid = 1; INSERT INTO schedule VALUES (1, 1, 0, 0); BEGIN; SET TRANSACTION ISOLATION LEVEL SERIALIZABLE; DELETE FROM schedule WHERE studentid = 1; -- if there existed records for this delete, -- session B will now wait for session A to -- commit/rollback and error out on commit; -- otherwise no error COMMIT; INSERT INTO schedule VALUES (1, 1, 0, 0); COMMIT; You can also try and rollback the first transaction etc. Again, what really helps is: ALTER TABLE schedule ADD CONSTRAINT uniq_schedule UNIQUE (studentid, groupid); Best Regards, Michael Paesold
В списке pgsql-admin по дате отправления: