These two tab completion pieces look strange to me: /* If we have CREATE|UNIQUE INDEX <sth> CONCURRENTLY, then add "ON" */ else if ((pg_strcasecmp(prev3_wd, "INDEX") == 0 || pg_strcasecmp(prev2_wd, "INDEX") == 0) && pg_strcasecmp(prev_wd, "CONCURRENTLY") == 0) COMPLETE_WITH_CONST("ON"); /* If we have CREATE|UNIQUE INDEX <sth>, then add "ON" or "CONCURRENTLY" */ else if ((pg_strcasecmp(prev3_wd, "CREATE") == 0 || pg_strcasecmp(prev3_wd, "UNIQUE") == 0) && pg_strcasecmp(prev2_wd, "INDEX") == 0) { static const char *const list_CREATE_INDEX[] = {"CONCURRENTLY", "ON", NULL};
COMPLETE_WITH_LIST(list_CREATE_INDEX); } They appear to support a syntax along the lines of CREATE INDEX name CONCURRENTLY which is not the actual syntax. -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers