一、环境
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,需要重启