日志记录:
log_rotation_age = 1d ---- 单个日志文件的生存期,默认1天,在日志文件大小没有达到log_rotation_size时,一天只生成一个日志文件
log_rotation_size = 10MB ---- 单个日志文件的大小,如果时间没有超过log_rotation_age,一个日志文件最大只能到10M,否则将新生成一个日志文件。
log_truncate_on_rotation = off ---- 当日志文件已存在时,该配置如果为off,新生成的日志将在文件尾部追加,如果为on,则会覆盖原来的日志。
内存相关
共享内存:共享内存数据块
shared_buffers: 设置数据库服务器将使用的共享内存缓冲区数量,此缓冲区为缓冲数据块所用 -----默认32MB
通常设置为物理内存的25%左右,如果超过物理内存的40%,则缓冲效果不明显
本地内存:某个连接会话的过程中分配的
temp_buffers: 设置每个数据库会话使用的临时缓冲区的最大数目,此缓冲区只用于访问临时表
work_mem: 单个sql执行时,排序,hash join所使用的内存大小,sql运行完成后,内存会释放 -----默认1MB
如果这个值设置的大,那么排序操作会快一些。
会先用这个内存,不够了才会用临时表
maintenance_work_mem:声明在维护性操作(VACUUM,CREATE INDEX等)时,使用的最大内存数------默认16MB
effective_cache_size:一个查询执行过程中可以使用的最大缓存,包括操作系统使用的部分以及PostgreSQL使用部分,系统并不会根据这个值来真实地分配这么多内存,但是规划器会根据这个值来判断系统能否提供查询执行过程中所需的内存。如果将此设置设得过小,远远小于系统真实可用内存量,那么可能会给规划器造成误导,让规划器认为系统可用内存有限,从而选择不使用索引而是走全表扫描(因为使用索引虽然速度快,但需要占用更多的中间内存)。