@@ -1417,7 +1417,7 @@ psql_completion(const char *text, int start, int end)
1417
1417
1418
1418
/* ALTER FOREIGN DATA WRAPPER <name> */
1419
1419
else if (Matches5 ("ALTER" ,"FOREIGN" ,"DATA" ,"WRAPPER" ,MatchAny ))
1420
- COMPLETE_WITH_LIST4 ("HANDLER" ,"VALIDATOR" ,"OPTIONS" ,"OWNER TO" );
1420
+ COMPLETE_WITH_LIST5 ("HANDLER" ,"VALIDATOR" ,"OPTIONS" ,"OWNER TO" , "RENAME TO" );
1421
1421
1422
1422
/* ALTER FOREIGN TABLE <name> */
1423
1423
else if (Matches4 ("ALTER" ,"FOREIGN" ,"TABLE" ,MatchAny ))
@@ -1544,7 +1544,10 @@ psql_completion(const char *text, int start, int end)
1544
1544
COMPLETE_WITH_LIST3 ("MINVALUE" ,"MAXVALUE" ,"CYCLE" );
1545
1545
/* ALTER SERVER <name> */
1546
1546
else if (Matches3 ("ALTER" ,"SERVER" ,MatchAny ))
1547
- COMPLETE_WITH_LIST3 ("VERSION" ,"OPTIONS" ,"OWNER TO" );
1547
+ COMPLETE_WITH_LIST4 ("VERSION" ,"OPTIONS" ,"OWNER TO" ,"RENAME TO" );
1548
+ /* ALTER SERVER <name> VERSION <version>*/
1549
+ else if (Matches5 ("ALTER" ,"SERVER" ,MatchAny ,"VERSION" ,MatchAny ))
1550
+ COMPLETE_WITH_CONST ("OPTIONS" );
1548
1551
/* ALTER SYSTEM SET, RESET, RESET ALL */
1549
1552
else if (Matches2 ("ALTER" ,"SYSTEM" ))
1550
1553
COMPLETE_WITH_LIST2 ("SET" ,"RESET" );
@@ -2000,7 +2003,7 @@ psql_completion(const char *text, int start, int end)
2000
2003
2001
2004
/* CREATE FOREIGN DATA WRAPPER */
2002
2005
else if (Matches5 ("CREATE" ,"FOREIGN" ,"DATA" ,"WRAPPER" ,MatchAny ))
2003
- COMPLETE_WITH_LIST2 ("HANDLER" ,"VALIDATOR" );
2006
+ COMPLETE_WITH_LIST3 ("HANDLER" ,"VALIDATOR" , "OPTIONS " );
2004
2007
2005
2008
/* CREATE INDEX --- is allowed inside CREATE SCHEMA, so use TailMatches */
2006
2009
/* First off we complete CREATE UNIQUE with "INDEX" */
@@ -2379,6 +2382,10 @@ psql_completion(const char *text, int start, int end)
2379
2382
else if (TailMatches3 ("FOREIGN" ,"DATA" ,"WRAPPER" )&&
2380
2383
!TailMatches4 ("CREATE" ,MatchAny ,MatchAny ,MatchAny ))
2381
2384
COMPLETE_WITH_QUERY (Query_for_list_of_fdws );
2385
+ /* applies in CREATE SERVER */
2386
+ else if (TailMatches4 ("FOREIGN" ,"DATA" ,"WRAPPER" ,MatchAny )&&
2387
+ HeadMatches2 ("CREATE" ,"SERVER" ))
2388
+ COMPLETE_WITH_CONST ("OPTIONS" );
2382
2389
2383
2390
/* FOREIGN TABLE */
2384
2391
else if (TailMatches2 ("FOREIGN" ,"TABLE" )&&
@@ -2823,6 +2830,8 @@ psql_completion(const char *text, int start, int end)
2823
2830
COMPLETE_WITH_QUERY (Query_for_list_of_user_mappings );
2824
2831
else if (Matches5 ("CREATE|ALTER|DROP" ,"USER" ,"MAPPING" ,"FOR" ,MatchAny ))
2825
2832
COMPLETE_WITH_CONST ("SERVER" );
2833
+ else if (Matches7 ("CREATE|ALTER" ,"USER" ,"MAPPING" ,"FOR" ,MatchAny ,"SERVER" ,MatchAny ))
2834
+ COMPLETE_WITH_CONST ("OPTIONS" );
2826
2835
2827
2836
/*
2828
2837
* VACUUM [ FULL | FREEZE ] [ VERBOSE ] [ table ]