diff --git a/src/bin/scripts/createdb.c b/src/bin/scripts/createdb.c
index 9b72eac..94e791c 100644
--- a/src/bin/scripts/createdb.c
+++ b/src/bin/scripts/createdb.c
@@ -22,6 +22,7 @@ int
 main(int argc, char *argv[])
 {
 	static struct option long_options[] = {
+		{"database", required_argument, NULL, 'd'},
 		{"host", required_argument, NULL, 'h'},
 		{"port", required_argument, NULL, 'p'},
 		{"username", required_argument, NULL, 'U'},
@@ -44,6 +45,7 @@ main(int argc, char *argv[])
 
 	const char *dbname = NULL;
 	char	   *comment = NULL;
+	char	   *database = NULL;
 	char	   *host = NULL;
 	char	   *port = NULL;
 	char	   *username = NULL;
@@ -67,10 +69,13 @@ main(int argc, char *argv[])
 
 	handle_help_version_opts(argc, argv, "createdb", help);
 
-	while ((c = getopt_long(argc, argv, "h:p:U:wWeO:D:T:E:l:", long_options, &optindex)) != -1)
+	while ((c = getopt_long(argc, argv, "d:h:p:U:wWeO:D:T:E:l:", long_options, &optindex)) != -1)
 	{
 		switch (c)
 		{
+			case 'd':
+				database = optarg;
+				break;
 			case 'h':
 				host = optarg;
 				break;
@@ -162,6 +167,9 @@ main(int argc, char *argv[])
 		}
 	}
 
+	if (database == NULL)
+		database = "postgres";
+
 	if (dbname == NULL)
 	{
 		if (getenv("PGDATABASE"))
@@ -192,7 +200,7 @@ main(int argc, char *argv[])
 
 	appendPQExpBuffer(&sql, ";\n");
 
-	conn = connectDatabase(strcmp(dbname, "postgres") == 0 ? "template1" : "postgres",
+	conn = connectDatabase(strcmp(dbname, database) == 0 ? "template1" : database,
 						   host, port, username, prompt_password, progname);
 
 	if (echo)
@@ -256,6 +264,7 @@ help(const char *progname)
 	printf(_("  --help                       show this help, then exit\n"));
 	printf(_("  --version                    output version information, then exit\n"));
 	printf(_("\nConnection options:\n"));
+	printf(_("  -d, --database=DATABASE      database name to connect to (default: \"postgres\")\n"));
 	printf(_("  -h, --host=HOSTNAME          database server host or socket directory\n"));
 	printf(_("  -p, --port=PORT              database server port\n"));
 	printf(_("  -U, --username=USERNAME      user name to connect as\n"));
