diff --git a/doc/src/sgml/ref/createuser.sgml b/doc/src/sgml/ref/createuser.sgml
index 2f1ea2f..5fedc80 100644
--- a/doc/src/sgml/ref/createuser.sgml
+++ b/doc/src/sgml/ref/createuser.sgml
@@ -131,6 +131,16 @@ PostgreSQL documentation
      </varlistentry>
 
      <varlistentry>
+      <term><option>-g</></term>
+      <term><option>--roles</></term>
+      <listitem>
+       <para>
+        Indicates roles to associate with this role.
+       </para>
+      </listitem>
+     </varlistentry>
+
+     <varlistentry>
       <term><option>-i</></term>
       <term><option>--inherit</></term>
       <listitem>
diff --git a/src/bin/scripts/createuser.c b/src/bin/scripts/createuser.c
index d1542d9..b119e42 100644
--- a/src/bin/scripts/createuser.c
+++ b/src/bin/scripts/createuser.c
@@ -47,6 +47,7 @@ main(int argc, char *argv[])
 		{"pwprompt", no_argument, NULL, 'P'},
 		{"encrypted", no_argument, NULL, 'E'},
 		{"unencrypted", no_argument, NULL, 'N'},
+		{"roles", required_argument, NULL, 'g'},
 		{NULL, 0, NULL, 0}
 	};
 
@@ -57,6 +58,7 @@ main(int argc, char *argv[])
 	char	   *host = NULL;
 	char	   *port = NULL;
 	char	   *username = NULL;
+	char       *roles = NULL;
 	enum trivalue prompt_password = TRI_DEFAULT;
 	bool		echo = false;
 	bool		interactive = false;
@@ -112,6 +114,9 @@ main(int argc, char *argv[])
 			case 'D':
 				createdb = TRI_NO;
 				break;
+		    case 'g':
+			    roles = pg_strdup(optarg);
+				break;
 			case 's':
 			case 'a':
 				superuser = TRI_YES;
@@ -302,6 +307,8 @@ main(int argc, char *argv[])
 		appendPQExpBuffer(&sql, " NOREPLICATION");
 	if (conn_limit != NULL)
 		appendPQExpBuffer(&sql, " CONNECTION LIMIT %s", conn_limit);
+	if (roles != NULL)
+		appendPQExpBuffer(&sql, " IN ROLE %s", roles);
 	appendPQExpBuffer(&sql, ";\n");
 
 	if (echo)
@@ -334,6 +341,7 @@ help(const char *progname)
 	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, --roles               roles to associate with this new 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"));
