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.
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