On Fri, Aug 28, 2026 at 09:15:25PM +0200, Antonin Houska wrote: > I think there are just two different concepts (for historical reasons?): > vacuum_rel() expects no active transaction on entry, while cluster_rel() > handles transaction boundaries on its own. > > Since REPACK (ANALYZE) is effectively VACUUM (FULL, ANALYZE), I'd prefer the > same behavior, i.e. prohibiting execution both in a transaction block and in a > function:
This is probably the way to go for v19. As you note, the analogous VACUUM command has long ERROR'd, and we could always look into removing this restriction in the future. I'd rather do it that way than ship an incorrect fix in v19 that will be tougher to back out. -- nathan
