Re: Why is AccessShareLock held until end of transaction?
От | Simon Riggs |
---|---|
Тема | Re: Why is AccessShareLock held until end of transaction? |
Дата | |
Msg-id | CA+U5nM+hmM+k1Sc7m6ztbehHa9w3d_o_c_YdO1D0VYj6GgN0Cg@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Why is AccessShareLock held until end of transaction? (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: Why is AccessShareLock held until end of transaction?
Re: Why is AccessShareLock held until end of transaction? |
Список | pgsql-hackers |
On 11 March 2014 03:41, Tom Lane <tgl@sss.pgh.pa.us> wrote: > Joe Conway <mail@joeconway.com> writes: >> I am probably missing something obvious, but why does the >> AccessShareLock remain held on a table after a SELECT statement is >> complete when in a transaction block? > > *Any* lock acquired by user command is held till end of transaction; > AccessShareLock isn't special. > > In general, releasing early would increase the risk of undesirable > behaviors such as tables changing definition mid-transaction. I thought "good question" at first, but the workaround is simple... just don't use multi-step transactions, submit each request as a separate transaction. -- Simon Riggs http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training & Services
В списке pgsql-hackers по дате отправления: