Skip to content

Connections and Authentication

Complete dossiers for 45 core PostgreSQL settings in Connections and Authentication.

Dossier URLs remain flat; this category exists only to organize browsing and the sidebar.

authentication_timeout

authentication_timeout is the PostgreSQL setting that defines the maximum allowed time to complete client authentication.

bonjour

bonjour is the PostgreSQL setting that controls whether PostgreSQL enables advertising the server via Bonjour.

bonjour_name

bonjour_name is the PostgreSQL setting that defines the Bonjour service name.

client_connection_check_interval

client_connection_check_interval is the PostgreSQL setting that defines the time interval between checks for disconnection while running queries.

db_user_namespace

db_user_namespace is the PostgreSQL setting that controls whether PostgreSQL enables per-database user names.

gss_accept_delegation

gss_accept_delegation is the PostgreSQL setting that defines whether GSSAPI delegation should be accepted from the client.

krb_caseins_users

krb_caseins_users is the PostgreSQL setting that defines whether Kerberos and GSSAPI user names should be treated as case-insensitive.

krb_server_keyfile

krb_server_keyfile is the PostgreSQL setting that defines the location of the Kerberos server key file.

krb_srvname

krb_srvname — Sets the name of the Kerberos service. Observed in PG9.0–9.3; its last measured boot default is postgres in PG9.3, with sighup context. It was removed in PG9.4.

listen_addresses

listen_addresses is the PostgreSQL setting that defines the host name or IP address(es) to listen to.

max_connections

The startup-time ceiling on concurrent PostgreSQL client connections and a sizing input for several shared resources.

md5_password_warnings

md5_password_warnings is the PostgreSQL setting that controls whether PostgreSQL enables deprecation warnings for MD5 passwords.

oauth_validator_libraries

oauth_validator_libraries is the PostgreSQL setting that lists libraries that may be called to validate OAuth v2 bearer tokens.

password_encryption

password_encryption is the PostgreSQL setting that chooses the algorithm for encrypting passwords.

password_expiration_warning_threshold

password_expiration_warning_threshold — Threshold for password expiration warnings. Observed in PG19 Beta 3; its last measured boot default is 7 d in PG19 Beta 3, with sighup context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.

port

port is the PostgreSQL setting that defines the TCP port the server listens on.

reserved_connections

reserved_connections is the PostgreSQL setting that defines the number of connection slots reserved for roles with privileges of pg_use_reserved_connections.

scram_iterations

scram_iterations is the PostgreSQL setting that defines the iteration count for SCRAM secret generation.

ssl

ssl is the PostgreSQL setting that controls whether PostgreSQL enables SSL connections.

ssl_ca_file

ssl_ca_file is the PostgreSQL setting that identifies the location of the SSL certificate authority file.

ssl_cert_file

ssl_cert_file is the PostgreSQL setting that identifies the location of the SSL server certificate file.

ssl_ciphers

ssl_ciphers is the PostgreSQL setting that defines the list of allowed TLSv1.2 (and lower) ciphers.

ssl_crl_dir

ssl_crl_dir is the PostgreSQL setting that identifies the location of the SSL certificate revocation list directory.

ssl_crl_file

ssl_crl_file is the PostgreSQL setting that identifies the location of the SSL certificate revocation list file.

ssl_dh_params_file

ssl_dh_params_file is the PostgreSQL setting that identifies the location of the SSL DH parameters file.

ssl_ecdh_curve

ssl_ecdh_curve is the PostgreSQL setting that defines the curve to use for ECDH.

ssl_groups

ssl_groups is the PostgreSQL setting that defines the group(s) to use for Diffie-Hellman key exchange.

ssl_key_file

ssl_key_file is the PostgreSQL setting that identifies the location of the SSL server private key file.

ssl_max_protocol_version

ssl_max_protocol_version is the PostgreSQL setting that defines the maximum SSL/TLS protocol version to use.

ssl_min_protocol_version

ssl_min_protocol_version is the PostgreSQL setting that defines the minimum SSL/TLS protocol version to use.

ssl_passphrase_command

ssl_passphrase_command is the PostgreSQL setting that defines the command to obtain passphrases for SSL.

ssl_passphrase_command_supports_reload

ssl_passphrase_command_supports_reload is the PostgreSQL setting that controls whether “ssl_passphrase_command” is called during server reload.

ssl_prefer_server_ciphers

ssl_prefer_server_ciphers is the PostgreSQL setting that gives priority to server ciphersuite order.

ssl_renegotiation_limit

ssl_renegotiation_limit — Set the amount of traffic to send and receive before renegotiating the encryption keys. Observed in PG9.0–9.4; its last measured boot default is 0 B in PG9.4, with user context. It was removed in PG9.5.

ssl_sni

ssl_sni — Sets whether to interpret SNI extensions in SSL connections. Observed in PG19 Beta 3; its last measured boot default is off in PG19 Beta 3, with sighup context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.

ssl_tls13_ciphers

ssl_tls13_ciphers is the PostgreSQL setting that defines the list of allowed TLSv1.3 cipher suites.

superuser_reserved_connections

superuser_reserved_connections is the PostgreSQL setting that defines the number of connection slots reserved for superusers.

tcp_keepalives_count

tcp_keepalives_count is the PostgreSQL setting that defines the maximum number of TCP keepalive retransmits.

tcp_keepalives_idle

tcp_keepalives_idle is the PostgreSQL setting that defines the interval between issuing TCP keepalives.

tcp_keepalives_interval

tcp_keepalives_interval is the PostgreSQL setting that defines the interval between TCP keepalive retransmits.

tcp_user_timeout

tcp_user_timeout is the PostgreSQL setting that defines the TCP user timeout.

unix_socket_directories

unix_socket_directories is the PostgreSQL setting that defines the directories where Unix-domain sockets will be created.

unix_socket_directory

unix_socket_directory — Sets the directory where the Unix-domain socket will be created. Observed in PG9.0–9.2; its last measured boot default is empty string in PG9.2, with postmaster context. It was removed in PG9.3.

unix_socket_group

unix_socket_group is the PostgreSQL setting that defines the owning group of the Unix-domain socket.

unix_socket_permissions

unix_socket_permissions is the PostgreSQL setting that defines the access permissions of the Unix-domain socket.