diff --git a/doc/src/sgml/ref/initdb.sgml b/doc/src/sgml/ref/initdb.sgml
index 44a2d69..d994f40 100644
--- a/doc/src/sgml/ref/initdb.sgml
+++ b/doc/src/sgml/ref/initdb.sgml
@@ -236,8 +236,8 @@ PostgreSQL documentation
 
      <varlistentry id="app-initdb-file-encryption-keylen"
       xreflabel="file encryption">
-      <term><option>-K</option></term>
-      <term><option>--file-encryption-keylen</option></term>
+      <term><option>-K <replaceable class="parameter">length</replaceable></option></term>
+      <term><option>--file-encryption-keylen=<replaceable class="parameter">length</replaceable></option></term>
       <listitem>
        <para>
         Specifies the number of bits for the file encryption keys.  The
diff --git a/src/bin/initdb/initdb.c b/src/bin/initdb/initdb.c
index 4d07ce6..33a11e0 100644
--- a/src/bin/initdb/initdb.c
+++ b/src/bin/initdb/initdb.c
@@ -2318,7 +2318,7 @@ usage(const char *progname)
 			 "                            to obtain the cluster key\n"));
 	printf(_("  -d, --debug               generate lots of debugging output\n"));
 	printf(_("  -k, --data-checksums      use data page checksums\n"));
-	printf(_("  -K, --file-encryption-keylen\n"
+	printf(_("  -K, --file-encryption-keylen=LENGTH\n"
 			 "                            bit length of the file encryption key\n"));
 	printf(_("  -L DIRECTORY              where to find the input files\n"));
 	printf(_("  -n, --no-clean            do not clean up after errors\n"));
@@ -3008,7 +3008,7 @@ main(int argc, char *argv[])
 		{"wal-segsize", required_argument, NULL, 12},
 		{"data-checksums", no_argument, NULL, 'k'},
 		{"authprompt", no_argument, NULL, 'R'},
-		{"file-encryption-keylen", no_argument, NULL, 'K'},
+		{"file-encryption-keylen", required_argument, NULL, 'K'},
 		{"allow-group-access", no_argument, NULL, 'g'},
 		{"cluster-key-command", required_argument, NULL, 'c'},
 		{"copy-encryption-keys", required_argument, NULL, 'u'},
