更新时间:2024-09-05 GMT+08:00
RDS for PostgreSQL参数调优建议
数据库参数是数据库系统运行的关键配置信息,设置不合适的参数值可能会影响业务。本文列举了一些重要参数说明,更多参数详细说明,请参见PostgreSQL官网。
通过控制台界面修改RDS for PostgreSQL参数值,请参见修改RDS for PostgreSQL实例参数。
修改敏感参数
若干参数相关说明如下:
- 参数“search_path”值,必须配置为以逗号分隔的模式名序列,并需确保该模式名存在,否则会影响数据库的使用。
- 开启参数“log_duration”,可能会在日志中记录带有敏感信息的SQL语句,建议关闭该配置。
- 参数“log_min_duration_statement”用于设置最小执行时间,执行时间大于等于这个值的语句都将被记录,单位为毫秒。 值为0,表示记录所有语句,值为-1,表示不记录语句。具体请参见查看或下载慢日志。
- 参数“temp_file_limit”是指在一个会话中触发临时文件写盘操作时,所有临时文件的总空间大小,单位为KB。取值范围为-1~2,147,483,647,值为-1,表示临时文件空间大小没有限制。
- 支持RDS for PostgreSQL 11、12、13、14、15版本。
- 通常避免设置值为-1,防止临时文件占用过多的磁盘空间,导致用户业务异常。
- 如果将参数值修改为较大值供临时使用,使用完成后没有将参数修改为原来的值,可能会导致误用临时空间导致占满磁盘停止用户业务,且用户实例变为异常。
- “max_pred_locks_per_transaction”和“max_locks_per_transaction”参数的配置与“max_connections”、“max_prepared_transactions”的参数值有关,请结合实际业务需要进行配置,如果配置的参数值过大,可能会导致实例异常。
修改性能参数
若干参数相关说明如下:
- 参数“log_statement”配置为“ddl”、“mod”或“all”,会记录创建及删除数据库用户的操作,包含数据库用户的密码等敏感信息,同时也会影响数据库的性能,请确认后进行配置。
- 开启参数“log_hostname”、“log_duration”、“log_connections”和“log_disconnections”会影响数据库的性能,请确认后进行配置。
- “shared_buffers”参数配置的合理范围是系统内存的25%~40%,参数可配置的最大值为系统内存的80%,参数值过大会影响数据库的性能,请确认后进行配置。
- “max_worker_processes”参数配置与“max_parallel_workers”、“max_parallel_workers_per_gather”参数值有关,建议根据业务需求进行配置,配置过大会影响数据库性能,请确认后进行配置。