PostgreSQL配置文件--连接和认证

1 连接和认证 CONNECTIONS AND AUTHENTICATION

1.1 连接 CONNECTIONS

1.1.1 listen_addresses

字符型
默认: listen_addresses = 'localhost'
重启数据库生效
指定数据库用来监听客户端连接的TCP/IP地址。值是*表示服务器上所有的IP地址上监听用户请求。
可以写成机器的名字,也可以写成IP地址,不同的值用逗号分开,例如’server01’, ’140.87.171.49, 140.87.171.21’。
如果被设成localhost,表示数据库只能接受本地的客户端连接请求,不能接受远程的客户端连接请求。

1.1.2 port

数字型
默认: port = 5432
重启数据库生效
数据库监听客户端连接的TCP端口

1.1.3 max_connections

数字型
默认: max_connections = 100
重启数据库生效
它决定数据库可以同时建立的最大的客户端连接的数目。每个连接占用400字节共享内存。
注意:
    work_mem是应用于每个数据库连接,所以max_connections*work_mem不应该超出实际内存大小。
    如果work_mem设置为实际内存的2%,在极端情况下有50个查询都有排序要求,而且都使用2%的内存,则会导致swap的产生。

1.1.4 unix_socket_directories

字符型
默认: unix_socket_directories = '/var/run/postgresql, /tmp'
重启数据库生效
socket文件存放地址

1.1.5 superuser_reserved_connections

数字型
默认: superuser_reserved_connections = 3
重启数据库生效
表示预留给超级用户的数据库连接数目。它的值必须小于max_connections。
普通用户可建立的数据库最大并发连接的数目是max_connections-superuser_reserved_connections(默认为93)

1.1.6 unix_socket_group

字符型
默认: unix_socket_group = '',即为启动数据库的OS用户组。
重启数据库生效
设置Unix-domain socket的OS用户组。

1.1.7 unix_socket_permissions

数字型
默认: unix_socket_permissions = 0777
重启数据库生效
设置Unix-domain socket的访问权限,格式与操作系统的文件访问权限是一样的。

1.1.8 bonjour

布尔值
默认: bonjour = on
重启数据库生效
advertise server via Bonjour

1.1.9 bonjour_name

字符型
默认: bonjour_name = 'red'
重启数据库生效
defaults to the computer name

1.2 安全和认证 Security and Authentication

authentication_timeout = 1min          # 1s-600s
ssl = off
ssl_ciphers = 'HIGH:MEDIUM:+3DES:!aNULL' # allowed SSL ciphers
ssl_prefer_server_ciphers = on
ssl_ecdh_curve = 'prime256v1'
ssl_dh_params_file = ''
ssl_cert_file = 'server.crt'
ssl_key_file = 'server.key'
ssl_ca_file = ''
ssl_crl_file = ''
password_encryption = md5              # md5 or scram-sha-256
db_user_namespace = off
row_security = on
krb_server_keyfile = ''
krb_caseins_users = off

1.3 TCP Keepalives

下面三个变量对于通过Unix-domain socket建立的数据库连接没有任何影响。

1.3.1 tcp_keepalives_idle

数字型
默认: tcp_keepalives_idle = 0 。0表示使用OS值。
可动态修改
等同于OS的sysctl中的tcp_keepalive_time,即连接空闲到第一次发送TCP心跳包的时间,防止连接被网络设备中断。

1.3.2 tcp_keepalives_interval

数字型
默认: tcp_keepalives_interval = 0 。0表示使用OS值。
可动态修改
等同于OS的sysctl中的tcp_keepalive_intvl,即发送TCP心跳包的频率,防止连接被网络设备中断。

1.3.3 tcp_keepalives_count

数字型
默认: tcp_keepalives_count = 0 。0表示使用OS值。
可动态修改
等同于OS的sysctl中的tcp_keepalive_probes,即发送TCP心跳包的次数,超过该值断开连接。
posted @ 2017-12-14 17:02  lykops  阅读(481)  评论(0编辑  收藏  举报