{"host", required_argument, NULL, 'h'},
        {"port", required_argument, NULL, 'p'},
        {"username", required_argument, NULL, 'U'},
+       {"role", required_argument, NULL, 'g'},
        {"no-password", no_argument, NULL, 'w'},
        {"password", no_argument, NULL, 'W'},
        {"echo", no_argument, NULL, 'e'},
    char       *host = NULL;
    char       *port = NULL;
    char       *username = NULL;
+   SimpleStringList roles = {NULL, NULL};
    enum trivalue prompt_password = TRI_DEFAULT;
    bool        echo = false;
    bool        interactive = false;
 
    handle_help_version_opts(argc, argv, "createuser", help);
 
-   while ((c = getopt_long(argc, argv, "h:p:U:wWedDsSaArRiIlLc:PEN",
+   while ((c = getopt_long(argc, argv, "h:p:U:g:wWedDsSaArRiIlLc:PEN",
                            long_options, &optindex)) != -1)
    {
        switch (c)
            case 'U':
                username = pg_strdup(optarg);
                break;
+           case 'g':
+               simple_string_list_append(&roles, optarg);
+               break;
            case 'w':
                prompt_password = TRI_NO;
                break;
        appendPQExpBufferStr(&sql, " NOREPLICATION");
    if (conn_limit != NULL)
        appendPQExpBuffer(&sql, " CONNECTION LIMIT %s", conn_limit);
+   if (roles.head != NULL)
+   {
+       SimpleStringListCell *cell;
+       appendPQExpBufferStr(&sql, " IN ROLE ");
+
+       for (cell = roles.head; cell; cell = cell->next)
+       {
+           if (cell->next)
+               appendPQExpBuffer(&sql, "%s,", fmtId(cell->val));
+           else
+               appendPQExpBuffer(&sql, "%s", fmtId(cell->val));
+       }
+   }
    appendPQExpBufferStr(&sql, ";\n");
 
    if (echo)
    printf(_("  -D, --no-createdb         role cannot create databases (default)\n"));
    printf(_("  -e, --echo                show the commands being sent to the server\n"));
    printf(_("  -E, --encrypted           encrypt stored password\n"));
+   printf(_("  -g, --role=ROLE           new role will be a member of this role\n"));
    printf(_("  -i, --inherit             role inherits privileges of roles it is a\n"
             "                            member of (default)\n"));
    printf(_("  -I, --no-inherit          role does not inherit privileges\n"));