diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c new file mode 100644 index a1bb230..4f73d70 *** a/src/bin/psql/tab-complete.c --- b/src/bin/psql/tab-complete.c *************** psql_completion(char *text, int start, i *** 1645,1658 **** /* CLUSTER */ /* ! * If the previous word is CLUSTER and not without produce list of tables */ else if (pg_strcasecmp(prev_wd, "CLUSTER") == 0 && pg_strcasecmp(prev2_wd, "WITHOUT") != 0) COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables, NULL); /* If we have CLUSTER , then add "USING" */ else if (pg_strcasecmp(prev2_wd, "CLUSTER") == 0 && ! pg_strcasecmp(prev_wd, "ON") != 0) { COMPLETE_WITH_CONST("USING"); } --- 1645,1673 ---- /* CLUSTER */ /* ! * If the previous word is CLUSTER and not WITHOUT produce list of tables */ else if (pg_strcasecmp(prev_wd, "CLUSTER") == 0 && pg_strcasecmp(prev2_wd, "WITHOUT") != 0) COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables, NULL); + + /* + * If the previous words are CLUSTER VERBOSE produce list of tables + */ + else if (pg_strcasecmp(prev_wd, "VERBOSE") == 0 && + pg_strcasecmp(prev2_wd, "CLUSTER") == 0) + COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables, NULL); + /* If we have CLUSTER , then add "USING" */ else if (pg_strcasecmp(prev2_wd, "CLUSTER") == 0 && ! pg_strcasecmp(prev_wd, "ON") != 0 && ! pg_strcasecmp(prev_wd, "VERBOSE") != 0) ! { ! COMPLETE_WITH_CONST("USING"); ! } ! /* If we have CLUSTER VERBOSE , then add "USING" */ ! else if (pg_strcasecmp(prev3_wd, "CLUSTER") == 0 && ! pg_strcasecmp(prev2_wd, "VERBOSE") == 0) { COMPLETE_WITH_CONST("USING"); } *************** psql_completion(char *text, int start, i *** 1667,1672 **** --- 1682,1698 ---- COMPLETE_WITH_QUERY(Query_for_index_of_table); } + /* + * If we have CLUSTER VERBOSE USING, then add the index as well. + */ + else if (pg_strcasecmp(prev4_wd, "CLUSTER") == 0 && + pg_strcasecmp(prev3_wd, "VERBOSE") == 0 && + pg_strcasecmp(prev_wd, "USING") == 0) + { + completion_info_charp = prev2_wd; + COMPLETE_WITH_QUERY(Query_for_index_of_table); + } + /* COMMENT */ else if (pg_strcasecmp(prev_wd, "COMMENT") == 0) COMPLETE_WITH_CONST("ON");