Sergei Kornilov <s...@zsrv.org> writes: > I can reproduce with: > set default_transaction_isolation TO serializable ; > analyze ;
> Here is backtrace: > #0 SerializationNeededForRead (snapshot=0x0, relation=0x7f53e9a525f8) at > predicate.c:530 > #1 PredicateLockRelation (relation=relation@entry=0x7f53e9a525f8, > snapshot=snapshot@entry=0x0) at predicate.c:2507 > #2 0x0000562395b78a14 in heap_beginscan (relation=0x7f53e9a525f8, > snapshot=0x0, nkeys=0, key=0x0, parallel_scan=0x0, allow_strat=<optimized > out>, > allow_sync=false, allow_pagemode=true, is_bitmapscan=false, > is_samplescan=true, temp_snap=false) at heapam.c:1180 > #3 0x0000562395c782d7 in table_beginscan_analyze (rel=0x7f53e9a525f8) at > ../../../src/include/access/tableam.h:786 > #4 acquire_sample_rows (onerel=onerel@entry=0x7f53e9a525f8, > elevel=elevel@entry=13, rows=rows@entry=0x562396f01dd0, > targrows=targrows@entry=30000, > totalrows=totalrows@entry=0x7ffd0603e498, > totaldeadrows=totaldeadrows@entry=0x7ffd0603e490) at analyze.c:1032 So the problem is that something is passing a null snapshot to something that isn't expecting that. This seems closely related to the tableam API issue that was being debated a day or two back about whether it's ever valid to hand a null snapshot to an AM. Andres, which layer do you think is at fault here? regards, tom lane