Now, I'd prefer error in all cases, no doubt about that, which might be considered a regression. A way around that could be to have a GUC decide between a strict behavior (error) and the old behavior (warning).I think it's more better to have a GUC to disable implicit transaction 'block' feature, because that's probably the root of all issues.
Hmmm… I'm not sure that erroring out on "SELECT 1" because there is no explicit "BEGIN" is sellable, even under some GUC.
-- Fabien.