@@ -924,8 +924,9 @@ include_dir 'conf.d'
924924
925925 </variablelist>
926926 </sect2>
927- <sect2 id="runtime-config-connection-security">
928- <title>Security and Authentication</title>
927+
928+ <sect2 id="runtime-config-connection-authentication">
929+ <title>Authentication</title>
929930
930931 <variablelist>
931932 <varlistentry id="guc-authentication-timeout" xreflabel="authentication_timeout">
@@ -950,6 +951,123 @@ include_dir 'conf.d'
950951 </listitem>
951952 </varlistentry>
952953
954+ <varlistentry id="guc-password-encryption" xreflabel="password_encryption">
955+ <term><varname>password_encryption</varname> (<type>enum</type>)
956+ <indexterm>
957+ <primary><varname>password_encryption</varname> configuration parameter</primary>
958+ </indexterm>
959+ </term>
960+ <listitem>
961+ <para>
962+ When a password is specified in <xref linkend="sql-createrole"/> or
963+ <xref linkend="sql-alterrole"/>, this parameter determines the algorithm
964+ to use to encrypt the password. The default value is <literal>md5</literal>,
965+ which stores the password as an MD5 hash (<literal>on</literal> is also
966+ accepted, as alias for <literal>md5</literal>). Setting this parameter to
967+ <literal>scram-sha-256</literal> will encrypt the password with SCRAM-SHA-256.
968+ </para>
969+ <para>
970+ Note that older clients might lack support for the SCRAM authentication
971+ mechanism, and hence not work with passwords encrypted with
972+ SCRAM-SHA-256. See <xref linkend="auth-password"/> for more details.
973+ </para>
974+ </listitem>
975+ </varlistentry>
976+
977+ <varlistentry id="guc-krb-server-keyfile" xreflabel="krb_server_keyfile">
978+ <term><varname>krb_server_keyfile</varname> (<type>string</type>)
979+ <indexterm>
980+ <primary><varname>krb_server_keyfile</varname> configuration parameter</primary>
981+ </indexterm>
982+ </term>
983+ <listitem>
984+ <para>
985+ Sets the location of the Kerberos server key file. See
986+ <xref linkend="gssapi-auth"/>
987+ for details. This parameter can only be set in the
988+ <filename>postgresql.conf</filename> file or on the server command line.
989+ </para>
990+ </listitem>
991+ </varlistentry>
992+
993+ <varlistentry id="guc-krb-caseins-users" xreflabel="krb_caseins_users">
994+ <term><varname>krb_caseins_users</varname> (<type>boolean</type>)
995+ <indexterm>
996+ <primary><varname>krb_caseins_users</varname> configuration parameter</primary>
997+ </indexterm>
998+ </term>
999+ <listitem>
1000+ <para>
1001+ Sets whether GSSAPI user names should be treated
1002+ case-insensitively.
1003+ The default is <literal>off</literal> (case sensitive). This parameter can only be
1004+ set in the <filename>postgresql.conf</filename> file or on the server command line.
1005+ </para>
1006+ </listitem>
1007+ </varlistentry>
1008+
1009+ <varlistentry id="guc-db-user-namespace" xreflabel="db_user_namespace">
1010+ <term><varname>db_user_namespace</varname> (<type>boolean</type>)
1011+ <indexterm>
1012+ <primary><varname>db_user_namespace</varname> configuration parameter</primary>
1013+ </indexterm>
1014+ </term>
1015+ <listitem>
1016+ <para>
1017+ This parameter enables per-database user names. It is off by default.
1018+ This parameter can only be set in the <filename>postgresql.conf</filename>
1019+ file or on the server command line.
1020+ </para>
1021+
1022+ <para>
1023+ If this is on, you should create users as <replaceable>username@dbname</replaceable>.
1024+ When <replaceable>username</replaceable> is passed by a connecting client,
1025+ <literal>@</literal> and the database name are appended to the user
1026+ name and that database-specific user name is looked up by the
1027+ server. Note that when you create users with names containing
1028+ <literal>@</literal> within the SQL environment, you will need to
1029+ quote the user name.
1030+ </para>
1031+
1032+ <para>
1033+ With this parameter enabled, you can still create ordinary global
1034+ users. Simply append <literal>@</literal> when specifying the user
1035+ name in the client, e.g. <literal>joe@</literal>. The <literal>@</literal>
1036+ will be stripped off before the user name is looked up by the
1037+ server.
1038+ </para>
1039+
1040+ <para>
1041+ <varname>db_user_namespace</varname> causes the client's and
1042+ server's user name representation to differ.
1043+ Authentication checks are always done with the server's user name
1044+ so authentication methods must be configured for the
1045+ server's user name, not the client's. Because
1046+ <literal>md5</literal> uses the user name as salt on both the
1047+ client and server, <literal>md5</literal> cannot be used with
1048+ <varname>db_user_namespace</varname>.
1049+ </para>
1050+
1051+ <note>
1052+ <para>
1053+ This feature is intended as a temporary measure until a
1054+ complete solution is found. At that time, this option will
1055+ be removed.
1056+ </para>
1057+ </note>
1058+ </listitem>
1059+ </varlistentry>
1060+ </variablelist>
1061+ </sect2>
1062+
1063+ <sect2 id="runtime-config-connection-ssl">
1064+ <title>SSL</title>
1065+
1066+ <para>
1067+ See <xref linkend="ssl-tcp"/> for more information about setting up SSL.
1068+ </para>
1069+
1070+ <variablelist>
9531071 <varlistentry id="guc-ssl" xreflabel="ssl">
9541072 <term><varname>ssl</varname> (<type>boolean</type>)
9551073 <indexterm>
@@ -958,8 +1076,7 @@ include_dir 'conf.d'
9581076 </term>
9591077 <listitem>
9601078 <para>
961- Enables <acronym>SSL</acronym> connections. Please read
962- <xref linkend="ssl-tcp"/> before using this.
1079+ Enables <acronym>SSL</acronym> connections.
9631080 This parameter can only be set in the <filename>postgresql.conf</filename>
9641081 file or on the server command line.
9651082 The default is <literal>off</literal>.
@@ -1172,29 +1289,6 @@ include_dir 'conf.d'
11721289 </listitem>
11731290 </varlistentry>
11741291
1175- <varlistentry id="guc-password-encryption" xreflabel="password_encryption">
1176- <term><varname>password_encryption</varname> (<type>enum</type>)
1177- <indexterm>
1178- <primary><varname>password_encryption</varname> configuration parameter</primary>
1179- </indexterm>
1180- </term>
1181- <listitem>
1182- <para>
1183- When a password is specified in <xref linkend="sql-createrole"/> or
1184- <xref linkend="sql-alterrole"/>, this parameter determines the algorithm
1185- to use to encrypt the password. The default value is <literal>md5</literal>,
1186- which stores the password as an MD5 hash (<literal>on</literal> is also
1187- accepted, as alias for <literal>md5</literal>). Setting this parameter to
1188- <literal>scram-sha-256</literal> will encrypt the password with SCRAM-SHA-256.
1189- </para>
1190- <para>
1191- Note that older clients might lack support for the SCRAM authentication
1192- mechanism, and hence not work with passwords encrypted with
1193- SCRAM-SHA-256. See <xref linkend="auth-password"/> for more details.
1194- </para>
1195- </listitem>
1196- </varlistentry>
1197-
11981292 <varlistentry id="guc-ssl-dh-params-file" xreflabel="ssl_dh_params_file">
11991293 <term><varname>ssl_dh_params_file</varname> (<type>string</type>)
12001294 <indexterm>
@@ -1218,91 +1312,6 @@ include_dir 'conf.d'
12181312 </para>
12191313 </listitem>
12201314 </varlistentry>
1221-
1222- <varlistentry id="guc-krb-server-keyfile" xreflabel="krb_server_keyfile">
1223- <term><varname>krb_server_keyfile</varname> (<type>string</type>)
1224- <indexterm>
1225- <primary><varname>krb_server_keyfile</varname> configuration parameter</primary>
1226- </indexterm>
1227- </term>
1228- <listitem>
1229- <para>
1230- Sets the location of the Kerberos server key file. See
1231- <xref linkend="gssapi-auth"/>
1232- for details. This parameter can only be set in the
1233- <filename>postgresql.conf</filename> file or on the server command line.
1234- </para>
1235- </listitem>
1236- </varlistentry>
1237-
1238- <varlistentry id="guc-krb-caseins-users" xreflabel="krb_caseins_users">
1239- <term><varname>krb_caseins_users</varname> (<type>boolean</type>)
1240- <indexterm>
1241- <primary><varname>krb_caseins_users</varname> configuration parameter</primary>
1242- </indexterm>
1243- </term>
1244- <listitem>
1245- <para>
1246- Sets whether GSSAPI user names should be treated
1247- case-insensitively.
1248- The default is <literal>off</literal> (case sensitive). This parameter can only be
1249- set in the <filename>postgresql.conf</filename> file or on the server command line.
1250- </para>
1251- </listitem>
1252- </varlistentry>
1253-
1254- <varlistentry id="guc-db-user-namespace" xreflabel="db_user_namespace">
1255- <term><varname>db_user_namespace</varname> (<type>boolean</type>)
1256- <indexterm>
1257- <primary><varname>db_user_namespace</varname> configuration parameter</primary>
1258- </indexterm>
1259- </term>
1260- <listitem>
1261- <para>
1262- This parameter enables per-database user names. It is off by default.
1263- This parameter can only be set in the <filename>postgresql.conf</filename>
1264- file or on the server command line.
1265- </para>
1266-
1267- <para>
1268- If this is on, you should create users as <replaceable>username@dbname</replaceable>.
1269- When <replaceable>username</replaceable> is passed by a connecting client,
1270- <literal>@</literal> and the database name are appended to the user
1271- name and that database-specific user name is looked up by the
1272- server. Note that when you create users with names containing
1273- <literal>@</literal> within the SQL environment, you will need to
1274- quote the user name.
1275- </para>
1276-
1277- <para>
1278- With this parameter enabled, you can still create ordinary global
1279- users. Simply append <literal>@</literal> when specifying the user
1280- name in the client, e.g. <literal>joe@</literal>. The <literal>@</literal>
1281- will be stripped off before the user name is looked up by the
1282- server.
1283- </para>
1284-
1285- <para>
1286- <varname>db_user_namespace</varname> causes the client's and
1287- server's user name representation to differ.
1288- Authentication checks are always done with the server's user name
1289- so authentication methods must be configured for the
1290- server's user name, not the client's. Because
1291- <literal>md5</literal> uses the user name as salt on both the
1292- client and server, <literal>md5</literal> cannot be used with
1293- <varname>db_user_namespace</varname>.
1294- </para>
1295-
1296- <note>
1297- <para>
1298- This feature is intended as a temporary measure until a
1299- complete solution is found. At that time, this option will
1300- be removed.
1301- </para>
1302- </note>
1303- </listitem>
1304- </varlistentry>
1305-
13061315 </variablelist>
13071316 </sect2>
13081317 </sect1>
0 commit comments