$PGDATA/postgresql.conf设置及说明
listen_addresses = ‘*’ #全IP监听
port = 5432 #端口指定
max_connections = 900 #连接数
shared_buffers = 5GB #1/4左右、数据库缓冲区
temp_buffers = 16MB #具体更加是否使用临时表大小。
work_mem= 16MB #具体结果集大小一般不要太大。尽量《64MB
maintence_work_mem=512MB #维护时可以调用的内存大小
》256
MB
effective_cache_size = 10GB #1/3 到 1/2 左右、可用OS的缓存大小
max_stack_depth = 4MB #进程STACK所占的空间的最大值,复杂操作8MB
wal_level = replica #PG10 流复制最高等级replica
其他
hot_standby
synchronous_commit = on #默认ON 已同步 remote_apply已应用
checkpoint_segments = 3 #超过后自动启动一个检查点操作,视情况可以加大。PG9
checkpoint_timeout = 5min #checkpoint超时,视情况可以加大。
max_wal_size = 1GB #PG10 触发checkpoint 的最大WAL size
min_wal_size =256MB #PG10
触发checkpoint
的最小WAL
size
wal_log_hints = on #开启可以rewind ,checksum的其他实现方式2,默认off
wal_buffers = -1 #WAL占用缓存,默认占用shared_buffersarchive_mode = on #归档开启
archive_command = ‘test ! -f
/PathTo/%f && cp %p
/PathTo/%f’ #触发归档操作
max_wal_senders = 6 #流复制进程数,一般为主机
wal_keep_segments = 1000 #保持WAL个数、根据是否有批量写入可适当增减
#max_replication_slots = 2 #流复制复制slots数,记录备机流复制位置等,默认为0
log_destination = ‘csvlog’ #csv文本格式日志
logging_collector = on #文本日志收集ON
log_directory = ‘…/pg_log’ #目录位置,使用相对目录,放置与PGDATA外
log_filename = ‘postgresql-%Y-%m-%d_%H%M%S.log’ #文件名称
log_file_mode = 0644 #日志权限设置
log_min_duration_statement =
1000ms #超时sql记入日志
log_lock_waits = on #进程超时等待死锁时间,记入日志。
deadlock_timeout = 1s #死锁检测时间,根据情况判断。默认1S
log_checkpoints = on #日志记录checkpoints
#以下为经验值,有部分增速效应
seq_page_cost = 2 #文件顺序读成本
random_page_cost = 2.0 #文件随机读成本
cpu_tuple_cost = 0.5 #CPU行处理成本
cpu_index_tuple_cost =0.5 #index行扫描成本
cpu_operator_cost=0.5 #运算符或函数的执行成本
$PGDATA/pg_hba.conf内容及说明:
TYPE DATABASE USER ADDRESS METHOD
only 本地连接信任
local all all trust
host all all 127.0.0.1/32 trust
host all all ::1/128 trust
#外连接需密码验证,可以增加IP段.
host all all X.X.X.0/24 md5或password
with the
外连接流复制需密码验证,可以增加IP段.
host
replication postgres X.X.X.0/24 md5或password