@@ -1801,9 +1801,22 @@ psql_completion(const char *text, int start, int end)
1801
1801
"SET SCHEMA" );
1802
1802
/* ALTER MATERIALIZED VIEW <name> */
1803
1803
else if (Matches ("ALTER" ,"MATERIALIZED" ,"VIEW" ,MatchAny ))
1804
- COMPLETE_WITH ("ALTER COLUMN" ,"OWNER TO" ,"RENAME TO" ,
1805
- "SET SCHEMA" );
1806
-
1804
+ COMPLETE_WITH ("ALTER COLUMN" ,"CLUSTER ON" ,"DEPENDS ON EXTENSION" ,
1805
+ "OWNER TO" ,"RENAME" ,"RESET (" ,"SET" );
1806
+ /* ALTER MATERIALIZED VIEW xxx RENAME */
1807
+ else if (Matches ("ALTER" ,"MATERIALIZED" ,"VIEW" ,MatchAny ,"RENAME" ))
1808
+ COMPLETE_WITH_ATTR (prev2_wd ," UNION SELECT 'COLUMN' UNION SELECT 'TO'" );
1809
+ else if (Matches ("ALTER" ,"MATERIALIZED" ,"VIEW" ,MatchAny ,"ALTER|RENAME" ,"COLUMN" ))
1810
+ COMPLETE_WITH_ATTR (prev3_wd ,"" );
1811
+ /* ALTER MATERIALIZED VIEW xxx RENAME yyy */
1812
+ else if (Matches ("ALTER" ,"MATERIALIZED" ,"VIEW" ,MatchAny ,"RENAME" ,MatchAnyExcept ("TO" )))
1813
+ COMPLETE_WITH ("TO" );
1814
+ /* ALTER MATERIALIZED VIEW xxx RENAME COLUMN yyy */
1815
+ else if (Matches ("ALTER" ,"MATERIALIZED" ,"VIEW" ,MatchAny ,"RENAME" ,"COLUMN" ,MatchAnyExcept ("TO" )))
1816
+ COMPLETE_WITH ("TO" );
1817
+ /* ALTER MATERIALIZED VIEW xxx SET */
1818
+ else if (Matches ("ALTER" ,"MATERIALIZED" ,"VIEW" ,MatchAny ,"SET" ))
1819
+ COMPLETE_WITH ("(" ,"SCHEMA" ,"TABLESPACE" ,"WITHOUT CLUSTER" );
1807
1820
/* ALTER POLICY <name> */
1808
1821
else if (Matches ("ALTER" ,"POLICY" ))
1809
1822
COMPLETE_WITH_QUERY (Query_for_list_of_policies );