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 <shal...@saralweb.com> 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/