From: | Corey Huinker <corey(dot)huinker(at)gmail(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Magnus Hagander <magnus(at)hagander(dot)net>, Jeff Davis <pgsql(at)j-davis(dot)com>, Stephen Frost <sfrost(at)snowman(dot)net>, Ashutosh Bapat <ashutosh(dot)bapat(dot)oss(at)gmail(dot)com>, Matthias van de Meent <boekewurm+postgres(at)gmail(dot)com>, Peter Smith <smithpb2250(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Tomas Vondra <tomas(dot)vondra(at)enterprisedb(dot)com> |
Subject: | Re: Statistics Import and Export |
Date: | 2024-04-01 01:32:17 |
Message-ID: | CADkLM=dKC76yUJDWHnL61zEGRR2D6KOf0DM5r23m2M=WFGpZyA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
>
> IIRC, "variadic any" requires having at least one variadic parameter.
> But that seems fine --- what would be the point, or even the
> semantics, of calling pg_set_attribute_stats with no data fields?
>
If my pg_dump run emitted a bunch of stats that could never be imported,
I'd want to know. With silent failures, I don't.
> Perhaps we could
> invent a new backend function that extracts the actual element type
> of a non-null anyarray argument.
>
A backend function that we can't guarantee exists on the source system. :(
> Another way we could get to no-coercions is to stick with your
> signature but declare the relevant parameters as anyarray instead of
> text. I still think though that we'd be better off to leave the
> parameter matching to runtime, so that we-don't-recognize-that-field
> can be a warning not an error.
>
I'm a bit confused here. AFAIK we can't construct an anyarray in SQL:
# select '{1,2,3}'::anyarray;
ERROR: cannot accept a value of type anyarray
> I think you missed my point: you're doing that inefficiently,
> and maybe even with race conditions. Use the relcache's copy
> of the pg_class row.
>
Roger Wilco.
> Well, I'm here to debate it if you want, but I'll just note that *one*
> error will be enough to abort a pg_upgrade entirely, and most users
> these days get scared by errors during manual dump/restore too. So we
> had better not be throwing errors except for cases that we don't think
> pg_dump could ever emit.
>
That's pretty persuasive. It also means that we need to trap for error in
the array_in() calls, as that function does not yet have a _safe() mode.
From | Date | Subject | |
---|---|---|---|
Next Message | Andy Fan | 2024-04-01 01:42:12 | Re: Extract numeric filed in JSONB more effectively |
Previous Message | Nathan Bossart | 2024-04-01 01:17:08 | Re: Popcount optimization using AVX512 |