On Fri, Jan 22, 2021 at 02:09:04PM +0100, Tomas Vondra wrote: > On 1/22/21 5:01 AM, Justin Pryzby wrote: > > On Fri, Jan 22, 2021 at 04:49:51AM +0100, Tomas Vondra wrote: > > > > > | Statistics objects: > > > > > | "public"."s2" (ndistinct, dependencies, mcv) ON FROM t > > > > > > Umm, for me that prints: > > > > > "public"."s2" ON ((i + 1)), (((i + 1) + 0)) FROM t > > > > > > which I think is OK. But maybe there's something else to trigger the > > > problem? > > > > Oh. It's because I was using /usr/bin/psql and not ./src/bin/psql. > > I think it's considered ok if old client's \d commands don't work on new > > server, but it's not clear to me if it's ok if they misbehave. It's almost > > better it made an ERROR. > > > > Well, how would the server know to throw an error? We can't quite patch the > old psql (if we could, we could just tweak the query).
To refresh: stats objects on a v14 server which include expressions are shown by pre-v14 psql client with the expressions elided (because the attnums don't correspond to anything in pg_attribute). I'm mentioning it again since, even though I knew about this earlier in the year, it caused some confusion for me again just now while testing our application. I had the v14 server installed but the psql symlink still pointed to the v13 client. There may not be anything we can do about it. And it may not be a significant issue outside the beta period: more typically, the client version would match the server version. -- Justin