create table test_table ( id serial, field int default 0 not null ); create or replace function test_table_bu() returns trigger language plpgsql as $$ begin return new; end; $$; create trigger test_table_bu before update on test_table for each row execute procedure test_table_bu(); insert into test_table (field) values (0);
test.sh:
psql -d gdeposylka -c "update test_table set field = field + 1 where id = 1;" &
psql -d gdeposylka -c "update test_table set field = field + 1 where id = 1;" &
On October 3, 2019 6:14:33 PM PDT, "Антон Власов" <druidvav@gmail.com> wrote:
Hello,
Looks like disabling jit didn’t affect backtrace at all:
0 GetMemoryChunkContext (pointer=0x0) at ./build/../src/include/utils/memutils.h:127 #1 pfree (pointer=0x0) at ./build/../src/backend/utils/mmgr/mcxt.c:1033 #2 0x0000555d7276aaca in heap_freetuple (htup=<optimized out>) at ./build/../src/backend/access/common/heaptuple.c:1340 #3 0x0000555d72918889 in tts_buffer_heap_clear (slot=0x555d73dbb118) at ./build/../src/backend/executor/execTuples.c:652 #4 0x0000555d72918cbe in ExecClearTuple (slot=0x555d73dbb118) at ./build/../src/include/executor/tuptable.h:428 #5 ExecResetTupleTable (tupleTable=0x555d73db5a10, shouldFree=false)
That's good - I was only looking at that because of the truncated backtrace. Did you do anything to make that work better this time?
Are there any details that you can provide? Schema? Any extensions in use?
Does the problem happen always, or just under concurrency?
Andres -- Sent from my Android device with K-9 Mail. Please excuse my brevity.