| From: | Dean Rasheed <dean(dot)a(dot)rasheed(at)gmail(dot)com> |
|---|---|
| To: | SATYANARAYANA NARLAPURAM <satyanarlapuram(at)gmail(dot)com> |
| Cc: | PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, nagata(at)sraoss(dot)co(dot)jp |
| Subject: | Re: Infinite Autovacuum loop caused by failing virtual generated column expression |
| Date: | 2026-04-11 16:33:13 |
| Message-ID: | CAEZATCXWgYexeVm8yS6G8oFyyF=8ef9QwDt4Eyia-5hxBhjoVw@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Fri, 10 Apr 2026 at 21:19, SATYANARAYANA NARLAPURAM
<satyanarlapuram(at)gmail(dot)com> wrote:
>
> PG19 added support for stats on virtual generated columns [1]. Creating extended statistics on a virtual generated column whose expression can raise an error leads to ANALYZE failing repeatedly, and autovacuum retrying indefinitely. This floods the server logs and also wastes resources. Vacuum analyze on that column (without extended stats) succeeds.
>
True, though this is nothing new. The same thing can happen with
expression statistics on an expression that raises an error, which has
been possible since PG14.
> In order to avoid retry storms, I think we have two options. (1) skipping the offending row from the sample, (2) skipping the extended stats computation for that table with a warning message. At least this avoid autovacuum infinite retry. Attached a draft patch for the option (2). Thoughts?
>
I'm not sure. The default retry interval is 1 minute, so it won't
exactly be a flood of messages. Also, if the error only occurs for a
small subset of rows, it's possible that retrying might succeed.
Regards,
Dean
| From | Date | Subject | |
|---|---|---|---|
| Previous Message | Sami Imseih | 2026-04-11 16:10:54 | Re: [PATCH] Fix: Partitioned parent index remains invalid after child indexes are repaired |