aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/bin/psql/tab-complete.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c
index 76462412db5..75b867685a6 100644
--- a/src/bin/psql/tab-complete.c
+++ b/src/bin/psql/tab-complete.c
@@ -2691,8 +2691,13 @@ psql_completion(const char *text, int start, int end)
COMPLETE_WITH("FOR TABLE", "FOR ALL TABLES", "WITH (");
else if (Matches("CREATE", "PUBLICATION", MatchAny, "FOR"))
COMPLETE_WITH("TABLE", "ALL TABLES");
- /* Complete "CREATE PUBLICATION <name> FOR TABLE <table>, ..." */
- else if (HeadMatches("CREATE", "PUBLICATION", MatchAny, "FOR", "TABLE"))
+ else if (Matches("CREATE", "PUBLICATION", MatchAny, "FOR", "ALL"))
+ COMPLETE_WITH("TABLES");
+ else if (Matches("CREATE", "PUBLICATION", MatchAny, "FOR", "ALL", "TABLES")
+ || Matches("CREATE", "PUBLICATION", MatchAny, "FOR", "TABLE", MatchAny))
+ COMPLETE_WITH("WITH (");
+ /* Complete "CREATE PUBLICATION <name> FOR TABLE" with "<table>, ..." */
+ else if (Matches("CREATE", "PUBLICATION", MatchAny, "FOR", "TABLE"))
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables, NULL);
/* Complete "CREATE PUBLICATION <name> [...] WITH" */
else if (HeadMatches("CREATE", "PUBLICATION") && TailMatches("WITH", "("))