Re: Tuple concurrency issue in large objects

Shalini <[email protected]>
Newsgroups gmane.comp.db.postgresql.general
Message-ID <[email protected]>
Hi Rene,

I am using Postgresql 11.2. Major version is 11 and minor version is 2.


On 12/10/2019 11:24 AM, Rene Romero Benavides wrote:
> Hi Shalini. The usual diagnostic info is your postgresql server 
> version, major and minor version, such as in 12.1 , the major version 
> is 12 and the minor version (patch version) is 1.
>
>
> On Fri, Dec 6, 2019 at 9:26 AM Shalini <[email protected] 
> <mailto:[email protected]>> wrote:
>
>     Hi all,
>
>     I am working on a project which allows multiple users to work on
>     single
>     large text document. I am using lo_put to apply only the diff into
>     the
>     large object without replacing it with a new lob. While working on
>     it, I
>     encountered an error "Tuple concurrently updated".
>     The error can be reproduced with two psql clients.
>
>     Setup:
>
>     mydb=# create table text_docs(id serial primary key, data oid);
>     CREATE TABLE
>     mydb=# insert into text_docs(data) select lo_import('./upload.txt');
>     INSERT 0 1
>     mydb=# select * from text_docs;
>       id |  data
>     ----+---------
>        1 | 5810130
>     (1 rows)
>
>     Now, if we open two psql clients and execute the following commands:
>
>     Client 1:
>
>     mydb=# begin;
>     BEGIN
>     mydb=# select lo_put(5810130, 10, '\xaa');
>     UPDATE 1
>
>     Client 2:
>
>     mydb=# select lo_put(5810130, 10, '\xaa');
>
>     Client 1:
>     mydb=# commit;
>     COMMIT
>
>     Client 2:
>     mydb=# select lo_put(5810130, 10, '\xaa');
>     ERROR:  tuple concurrently updated
>
>     Is there a workaround to this concurrency issue without creating a
>     new
>     large object?
>
>     Regards
>     Shalini
>
>
>
>
>
>
> -- 
> El genio es 1% inspiración y 99% transpiración.
> Thomas Alva Edison
> http://pglearn.blogspot.mx/
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.