PostgreSQL配置参数详解(个人理解)

一、环境

CentOS 7.8
PostgreSQL 12.3(llvm编译)

二、配置

---文件位置

data_directory = ConfigDir                        ---使用另一个data目录,需要重启
hba_file = ConfigDir/pg_hba.conf              ---基于主机的授权文件,需要重启
ident_file = ConfigDir/pg_ident.conf          ---认证配置文件,需要重启
external_pid_file = ‘‘                          ---额外的PID文件,需要重启


---连接和授权


listen_addresses = 192.168.35.210,localhost   ---配置当前的允许连接,需要重启
port = 26432                                    ---修改默认端口,安全考虑,需要重启
max_connections = 2000                          ---根据业务及生产需求进行配置,需要重启
superuser_reserved_connections = 3              ---保留会话用户超级用户登录,故障处理很有用,需要重启
unix_socket_directories = /tmp                ---按需配置,需要重启
unix_socket_group = postgres                  ---配置socket的属主,需要重启
unix_socket_permissions = 0777                  ---配置socket的权限,需要重启
bonjour = off                                   ---广告服务器,需要重启
bonjour_name = ‘‘                               ---广告服务器的名字,需要重启


tcp_keepalives_idle = 0                              ---指定不活动多少秒之后通过TCP向客户端发送一个keepalive消息,默认0秒,无限制
tcp_keepalives_interval = 0                          ---指定在多少秒之后重发一个还没有被客户端告知已收到的TCPkeepalive消息。0表示默认
tcp_keepalives_count = 0                        ---指定与客户端的服务器连接被认为死掉之前允许丢失的TCP keepalive数量。0 值表示使用系统默认值,windows不支持
tcp_user_timeout = 0                            ---单位毫秒,指定的时间之前可能仍未答复的TCP传输数据连接是强行关闭,windows不支持

# - Authentication -


authentication_timeout = 1min                   ---客户端连接的最大认证时间,取值范围1s-600s
password_encryption = md5                       ---密码加密方式md5或scram-sha-256
db_user_namespace = off                         ---启用每个数据库的用户名,创建用户指定username@dbname

krb_server_keyfile = ‘‘                         ---设置Kerberos服务器密钥文件的位置
krb_caseins_users = off                         ---设置是否应不区分大小写处理GSSAPI用户名

# - SSL -

#ssl = off                                      ---是否开启ssl
#ssl_ca_file = ‘‘                               ---证书认证文件
#ssl_cert_file = server.crt                   ---证书认证
#ssl_crl_file = ‘‘                              ---证书吊销文件
#ssl_key_file = server.key                    ---SSL私钥文件
#ssl_ciphers = HIGH:MEDIUM:+3DES:!aNULL       ---指定允许在安全连接上使用的SSL密码套件的列表
#ssl_prefer_server_ciphers = on                 ---指定是否使用服务器的SSL密码首选项,而不是客户端的
#ssl_ecdh_curve = prime256v1                  ---指定要在ECDH密钥交换中使用的曲线的名称
#ssl_min_protocol_version = TLSv1             ---设定使用的最小的SSL/TLS协议有四个TLSv1,TLSv1.1, TLSv1.2, TLSv1.3可选
#ssl_max_protocol_version = ‘‘                  ---设定使用的最大的SSL/TLS协议
#ssl_dh_params_file = ‘‘                        ---指定包含Diffie-Hellman参数的文件的名称,这些参数用于所谓的短暂性DH系列SSL密码
#ssl_passphrase_command = ‘‘                    ---设置要在解密SSL文件的密码短语时调用的外部命令,例如需要获取私钥
#ssl_passphrase_command_supports_reload = off   ---是否开启解密SSL文件的密码短语时调用的外部命令

# - Memory -

shared_buffers = 128MB                          ---用于缓存表数据,索引等最小128KB,可设置为物理内存的25%左右,需要重启
huge_pages = try                                ---是否使用hugepages,更高效内存管理,可选on, off, or try,需要重启
temp_buffers = 8MB                              ---临时缓冲区,最小800KB
max_prepared_transactions = 0                      ---最大准备事务,0禁用,需要配置与max_connection大概一直,需要重启,不建议开启
work_mem = 4MB                                  ---设置查询缓存,排序,最小64kb
maintenance_work_mem = 64MB                     ---用户数据库维护操作内存,最小1MB,VACUMM,CREATE INDEX,ALTER TABLE ADD foreign,不能设置太高
autovacuum_work_mem = -1                        ---自动清理维护工作,最小1MB
max_stack_depth = 2MB                           ---设置服务器的最大执行堆栈,最小100KB
shared_memory_type = mmap                       ---共享内存类型,mmap,sysv,windows三种选项
dynamic_shared_memory_type = posix              ---动态内存类型,posix,sysv,windows,mmap四种选项,需要重启

# - Disk -

#temp_file_limit = -1                           ---设置每个进程的临时文件在OS的大小,单位kb



# - Kernel Resources -

#max_files_per_process = 1000                      ---每个进程的最大使用文件数量,最小25,需要重启

 

PostgreSQL配置参数详解(个人理解)

上一篇:mybaits长整形long与时间戳mysql timestamp数据转换


下一篇:【Oracle】关于LOBs