PostgreSQL的postgresql.conf
文件包含了数据库的主要配置设置。以下是PostgreSQL 13.7版本中postgresql.conf
文件的一些常见配置参数及其说明:
# 数据库是否在运行,只能由系统管理员设置
hot_standby = 'on'
# 数据库的最大连接数
max_connections = 100
# 查询超时时间(毫秒)
statement_timeout = 0 # 0表示没有超时限制
# 运行在共享服务器模式下
shared_buffers = 128MB
# 工作内存的最大百分比
max_worker_processes = 8
# 事务日志文件的大小
log_segment_size = 1024MB
# 数据库的默认编码
lc_messages = 'en_US.UTF-8' # 影响前端消息的语言和编码
lc_monetary = 'en_US.UTF-8' # 影响货币显示格式
lc_numeric = 'en_US.UTF-8' # 影响数字显示格式
lc_time = 'en_US.UTF-8' # 影响时间和日期显示格式
# 对象标识符的大小写敏感性
lc_collate = 'C' # 排序规则
lc_ctype = 'C' # 字符分类和长度
# 监听的IP地址和端口
listen_addresses = 'localhost'
port = 5432
# 启用日志记录
logging_collector = on
log_directory = 'pg_log'
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
log_line_prefix = '%m [%p]: [%l-1] user=%u,db=%d '
log_timezone = 'GMT'
# 启用数据库锁定
max_locks_per_transaction = 64
# 设置查询结果的内存限制
work_mem = 4MB
# 设置在磁盘上保存临时数据的最小内存量
temp_buffers = 8MB
# 设置在共享内存中保留的临时表最大大小
temp_tablespaces = 'pg_default'
# 设置最大并发活动事务数
max_prepared_transactions = 0
# 设置在后台进程中使用的最大内存量
max_worker_processes = 8
# 设置在共享内存中保留的最大内存量
shared_buffers = 128MB
# 设置在磁盘上保留的最大内存量
wal_buffers = -1 # -1表示不限制,推荐设置为16MB或以上
# 设置在日志文件中保留的最大内存量
wal_writer_delay = 200ms
# 设置在后台进程中使用的最大内存量
maintenance_work_mem = 16MB
# 设置在日志文件中保留的最大内存量
checkpoint_completion_target = 0.5
# 设置日志文件的最大大小
log_rotation_size = 10MB
# 设置日志文件的最大数量
log_rotation_age = 1d
# 设置在后台进程中使用的最大内存量
autovacuum_work_mem = -1 # -1表示不限制,推荐设置为16MB或以上
# 设置日志文件的最大大小
autovacuum_max_workers = 3
# 设置日志文件的最大数量
autovacuum_naptime