Re: 'tuple concurrently updated' error when granting permissions

From: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
To: Jason Daly <jasondaly(at)trimblegeospatial(dot)com>, pgsql-general(at)postgresql(dot)org
Subject: Re: 'tuple concurrently updated' error when granting permissions
Date: 2014-03-01 14:38:39
Message-ID: 5311F0EF.2070602@aklaver.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 02/27/2014 06:54 PM, Jason Daly wrote:
> Hi,
> When I attempt to execute the non-query "GRANT SELECT ON TABLE
> <schema>.<table> TO <role>", I occasionally encounter an exception from
> postgresql, 'tuple concurrently updated'.
>
> I think the tuple it is referring to is the role.
>
> Our app is multi-threaded, and it is very possible for more than one
> thread to be attempting to grant permissions to the same role at the
> same time. (the situation is that we are creating tables on the fly, and
> each time we create a new table we have to grant permissions to a role
> so it can read from it).
>
> In my view, it is a bug that postgresql cannot handle multiple
> concurrent grants to a role.
>
> We're using the latest version of postgresql (9.3) in the context of an
> AWS RDS.
>
> Should I enter a bug report, or can someone convince me that we should
> single-thread this part of our app (or work around it somehow)?

My guess this is covered here:

http://rhaas.blogspot.com/2013/07/mvcc-catalog-access.html

In the meantime, I would say single thread is the order of the day.

>
> Please respond to jasondaly(at)trimblegeospatial(dot)com
> <mailto:jasondaly(at)trimblegeospatial(dot)com>
>
> -Jason
>

--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Rich Shepard 2014-03-01 14:41:34 Re: Moving data from M$ JetDB file to Postgres on Linux
Previous Message Rich Shepard 2014-03-01 14:03:31 Re: Moving data from M$ JetDB file to Postgres on Linux