On Fri, 27 Mar 2026 at 04:46, Yugo Nagata <[email protected]> wrote: > > On Fri, 27 Mar 2026 07:45:37 +0700 > John Naylor <[email protected]> wrote: > > > On Fri, Mar 27, 2026 at 6:23 AM Michael Paquier <[email protected]> wrote: > > > - errmsg("extended statistics require at least 2 columns"))); > > > + errmsg("extended statistics are not supported on a single column"))); > > > > > > Now our documentation also tells that the former message is not the > > > preferred project style (full sentences usually avoided in primary > > > messages): > > > https://www.postgresql.org/docs/devel/error-style-guide.html#ERROR-STYLE-GUIDE-GRAMMAR-PUNCTUATION > > > > My reading of that is that hints/details need to be complete > > sentences, and primary messages don't need to be. If the obvious way > > to write primary message is with a complete sentence, I would say > > that's fine, but I don't have a lot of context here. > > > > > Perhaps something like "could not create extended statistics" with a > > > hint describing the cause would be better.. Full sentences usually > > > apply to errdetails or errhints. If we're on it, we could just as > > > well improve the whole thing, I guess? > > > > I don't feel strongly either way, so in that case I would default to > > not changing to errdetail. Looking elsewhere in this file, however, I > > do see some messages with "cannot do X because ....", and I'd be more > > motivated to turn those "because" phrases into errdetails. > > I don't have a strong preference here, so I'm fine with either approach. > I also agree that moving "because ..." into errdetails in some longer > messages makes sense.
I don't think it should be a hint, because that's more for suggestions on how to fix the problem. Given that the user just tried to create extended statistics on a single column, they're probably not interested in expression statistics or multivariate statistics, so a single short "not supported" error seems sufficient. If we were to give more detail, it should probably be to point out that regular statistics will already be built for single columns, which is why single-column extended statistics would be redundant. So perhaps something like this: Error: cannot create extended statistics on a single column Detail: Univariate statistics are already built for each individual table column. Regards, Dean
