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