On Sun, Jul 03, 2022 at 02:00:59PM -0400, Tom Lane wrote: > I wrote: > > Noah Misch <n...@leadboat.com> writes: > >> "ALTER EXTENSION hstore UPDATE;" is a valid command (updates to the > >> control file default version). Hence, I think the v14 behavior was better. > > > Hmm ... good point, let me think about that. > > After consideration, my preferred solution is just this: > > diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c > index 463cac9fb0..c5cafe6f4b 100644 > --- a/src/bin/psql/tab-complete.c > +++ b/src/bin/psql/tab-complete.c > @@ -1927,7 +1927,7 @@ psql_completion(const char *text, int start, int end) > > /* ALTER EXTENSION <name> */ > else if (Matches("ALTER", "EXTENSION", MatchAny)) > - COMPLETE_WITH("ADD", "DROP", "UPDATE TO", "SET SCHEMA"); > + COMPLETE_WITH("ADD", "DROP", "UPDATE", "SET SCHEMA"); > > /* ALTER EXTENSION <name> UPDATE */ > else if (Matches("ALTER", "EXTENSION", MatchAny, "UPDATE")) > > This will require one extra <TAB> when what you want is to update to > a specific version, but I doubt that that's going to bother anyone > very much. I don't want to try to resurrect the v14 behavior exactly > because it's too much of a mess from a quoting standpoint.
Works for me, and I agree the patch implements that successfully. "ALTER EXTENSION x UPDATE;" is an infrequent command, and "ALTER EXTENSION x UPDATE TO ..." is even less frequent. It's not worth much special effort to shave <TAB> steps.