diff --git a/src/bin/psql/help.c b/src/bin/psql/help.c
index 66f72e8..e91e185 100644
*** a/src/bin/psql/help.c
--- b/src/bin/psql/help.c
*************** slashUsage(unsigned short int pager)
*** 207,213 ****
  	fprintf(output, _("  \\dFd[+] [PATTERN]      list text search dictionaries\n"));
  	fprintf(output, _("  \\dFp[+] [PATTERN]      list text search parsers\n"));
  	fprintf(output, _("  \\dFt[+] [PATTERN]      list text search templates\n"));
! 	fprintf(output, _("  \\dg[+]  [PATTERN]      list roles (groups)\n"));
  	fprintf(output, _("  \\di[S+] [PATTERN]      list indexes\n"));
  	fprintf(output, _("  \\dl                    list large objects, same as \\lo_list\n"));
  	fprintf(output, _("  \\dn[+]  [PATTERN]      list schemas\n"));
--- 207,213 ----
  	fprintf(output, _("  \\dFd[+] [PATTERN]      list text search dictionaries\n"));
  	fprintf(output, _("  \\dFp[+] [PATTERN]      list text search parsers\n"));
  	fprintf(output, _("  \\dFt[+] [PATTERN]      list text search templates\n"));
! 	fprintf(output, _("  \\dg[+]  [PATTERN]      list roles\n"));
  	fprintf(output, _("  \\di[S+] [PATTERN]      list indexes\n"));
  	fprintf(output, _("  \\dl                    list large objects, same as \\lo_list\n"));
  	fprintf(output, _("  \\dn[+]  [PATTERN]      list schemas\n"));
*************** slashUsage(unsigned short int pager)
*** 217,223 ****
  	fprintf(output, _("  \\ds[S+] [PATTERN]      list sequences\n"));
  	fprintf(output, _("  \\dt[S+] [PATTERN]      list tables\n"));
  	fprintf(output, _("  \\dT[S+] [PATTERN]      list data types\n"));
! 	fprintf(output, _("  \\du[+]  [PATTERN]      list roles (users)\n"));
  	fprintf(output, _("  \\dv[S+] [PATTERN]      list views\n"));
  	fprintf(output, _("  \\l[+]                  list all databases\n"));
  	fprintf(output, _("  \\sf[+] FUNCNAME        show a function's definition\n"));
--- 217,223 ----
  	fprintf(output, _("  \\ds[S+] [PATTERN]      list sequences\n"));
  	fprintf(output, _("  \\dt[S+] [PATTERN]      list tables\n"));
  	fprintf(output, _("  \\dT[S+] [PATTERN]      list data types\n"));
! 	fprintf(output, _("  \\du[+]  [PATTERN]      same as \\dg\n"));
  	fprintf(output, _("  \\dv[S+] [PATTERN]      list views\n"));
  	fprintf(output, _("  \\l[+]                  list all databases\n"));
  	fprintf(output, _("  \\sf[+] FUNCNAME        show a function's definition\n"));
diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c
index 00c97d3..6121990 100644
*** a/src/bin/psql/tab-complete.c
--- b/src/bin/psql/tab-complete.c
*************** psql_completion(char *text, int start, i
*** 2549,2554 ****
--- 2549,2556 ----
  	else if (strncmp(prev_wd, "\\dF", strlen("\\dF")) == 0)
  		COMPLETE_WITH_QUERY(Query_for_list_of_ts_configurations);
  
+ 	else if (strncmp(prev_wd, "\\dg", strlen("\\dg")) == 0)
+ 		COMPLETE_WITH_QUERY(Query_for_list_of_roles);
  	else if (strncmp(prev_wd, "\\di", strlen("\\di")) == 0)
  		COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_indexes, NULL);
  	else if (strncmp(prev_wd, "\\dn", strlen("\\dn")) == 0)
*************** psql_completion(char *text, int start, i
*** 2594,2599 ****
--- 2596,2603 ----
  	}
  	else if (strcmp(prev_wd, "\\sf") == 0 || strcmp(prev_wd, "\\sf+") == 0)
  		COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_functions, NULL);
+ 	else if (strcmp(prev_wd, "\\z") == 0)
+ 		COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tsv, NULL);
  	else if (strcmp(prev_wd, "\\cd") == 0 ||
  			 strcmp(prev_wd, "\\e") == 0 || strcmp(prev_wd, "\\edit") == 0 ||
  			 strcmp(prev_wd, "\\g") == 0 ||
