Re: Large expressions in indexes can't be stored (non-TOASTable)
От | Alexander Lakhin |
---|---|
Тема | Re: Large expressions in indexes can't be stored (non-TOASTable) |
Дата | |
Msg-id | adb7421f-eaf4-878a-6742-576fc6bf0d8f@gmail.com обсуждение исходный текст |
Ответ на | Re: Large expressions in indexes can't be stored (non-TOASTable) (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-hackers |
Hello Nathan, 19.09.2024 21:36, Nathan Bossart wrote: > On Thu, Sep 19, 2024 at 12:00:00PM +0300, Alexander Lakhin wrote: >> completed with: >> DROP INDEX CONCURRENTLY def_vec_quantizer_idx; >> >> triggers an assertion failure: >> TRAP: failed Assert("HaveRegisteredOrActiveSnapshot()"), File: "toast_internals.c", Line: 668, PID: 3723372 > Ha, that was fast. The attached patch seems to fix the assertion failures. > It's probably worth checking if any of the adjacent code paths are > affected, too. > Thank you for your attention to that issue! I've found another two paths to reach that condition: CREATE INDEX CONCURRENTLY ON def (vec_quantizer(id, :'b')); ERROR: cannot fetch toast data without an active snapshot REINDEX INDEX CONCURRENTLY def_vec_quantizer_idx; (or REINDEX TABLE CONCURRENTLY def;) TRAP: failed Assert("HaveRegisteredOrActiveSnapshot()"), File: "toast_internals.c", Line: 668, PID: 2934502 ExceptionalCondition at assert.c:52:13 init_toast_snapshot at toast_internals.c:670:2 toast_delete_datum at toast_internals.c:429:60 toast_tuple_cleanup at toast_helper.c:303:30 heap_toast_insert_or_update at heaptoast.c:335:9 heap_update at heapam.c:3752:14 simple_heap_update at heapam.c:4210:11 CatalogTupleUpdate at indexing.c:324:2 index_concurrently_swap at index.c:1649:2 ReindexRelationConcurrently at indexcmds.c:4270:3 ReindexIndex at indexcmds.c:2962:1 ExecReindex at indexcmds.c:2884:4 ProcessUtilitySlow at utility.c:1570:22 ... Perhaps it would make sense to check all CatalogTupleUpdate(pg_index, ...) calls (I've found 10 such instances, but haven't checked them yet). Best regards, Alexander
В списке pgsql-hackers по дате отправления: