On Wed, Oct 13, 2021 at 11:54:26AM -0500, Justin Pryzby wrote:
> It seems unfortunate if names from log messages qualified with datname were now
> rejected. Like this one:
>
> | automatic analyze of table "ts.child.cdrs_2021_10_12"...
Mark mentioned this "log message" use case in his proposed commit message, but
I wanted to mention what seems like a more important parallel:
postgres=# SELECT 'postgres.public.postgres_log'::regclass;
regclass | postgres_log
postgres=# SELECT 'not.postgres.public.postgres_log'::regclass;
ERROR: improper relation name (too many dotted names): not.postgres.public.postgres_log
^
postgres=# SELECT 'not.public.postgres_log'::regclass;
ERROR: cross-database references are not implemented: "not.public.postgres_log"
I think Mark used this as the model behavior for \d for this patch, which
sounds right. Since the "two dot" case wasn't fixed in 14.1 nor 2, it seems
better to implement the ultimate, intended behavior now, rather than trying to
exactly match what old versions did. I'm of the understanding that's what
Mark's patch does, so +1 from me.
I don't know how someone upgrading from an old version would know about the
change, though (rejecting junk prefixes rather than ignoring them). *If* it
were important, it seems like it'd need to be added to the 14.0 release notes.