From bd409519bd19911d2d2cba64415447d2fa9d766b Mon Sep 17 00:00:00 2001 From: Andres Freund Date: Sat, 12 Jul 2014 15:44:39 +0200 Subject: [PATCH] Minimal psql tab completion support for SET search_path. Complete SET search_path = ... to non-temporary and non-toast schemas. Since there pretty much is no use case to add those to the search path and there can be many it's helpful to exclude them. It'd be nicer to complete multiple search path elements, but that's not easy. Jeff Janes --- src/bin/psql/tab-complete.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c index c3a54d458a..24e60b7609 100644 --- a/src/bin/psql/tab-complete.c +++ b/src/bin/psql/tab-complete.c @@ -3352,6 +3352,13 @@ psql_completion(const char *text, int start, int end) COMPLETE_WITH_LIST(my_list); } + else if (pg_strcasecmp(prev2_wd, "search_path") == 0) + { + COMPLETE_WITH_QUERY(Query_for_list_of_schemas + " AND nspname not like 'pg\\_toast%%' " + " AND nspname not like 'pg\\_temp%%' " + " UNION SELECT 'DEFAULT' "); + } else { static const char *const my_list[] =