diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c index a7eccc75d2..f3465adb85 100644 --- a/src/bin/psql/tab-complete.c +++ b/src/bin/psql/tab-complete.c @@ -2240,7 +2240,8 @@ psql_completion(const char *text, int start, int end) "ENABLE", "INHERIT", "NO", "RENAME", "RESET", "OWNER TO", "SET", "VALIDATE CONSTRAINT", "REPLICA IDENTITY", "ATTACH PARTITION", - "DETACH PARTITION", "FORCE ROW LEVEL SECURITY"); + "DETACH PARTITION", "FORCE ROW LEVEL SECURITY", + "OF", "NOT OF"); /* ALTER TABLE xxx ADD */ else if (Matches("ALTER", "TABLE", MatchAny, "ADD")) { @@ -2473,6 +2474,10 @@ psql_completion(const char *text, int start, int end) else if (Matches("ALTER", "TABLE", MatchAny, "DETACH", "PARTITION", MatchAny)) COMPLETE_WITH("CONCURRENTLY", "FINALIZE"); + /* ALTER TABLE OF */ + else if (Matches("ALTER", "TABLE", MatchAny, "OF")) + COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_composite_datatypes); + /* ALTER TABLESPACE with RENAME TO, OWNER TO, SET, RESET */ else if (Matches("ALTER", "TABLESPACE", MatchAny)) COMPLETE_WITH("RENAME TO", "OWNER TO", "SET", "RESET");