更新时间:2022-08-16 GMT+08:00

PostgreSQL参数调优建议

数据库参数是数据库系统运行的关键配置信息,设置不合适的参数值可能会影响业务。本文列举了一些重要参数说明,更多参数详细说明,请参见PostgreSQL官网

通过控制台界面修改PostgreSQL参数值,请参见修改实例参数

修改敏感参数

若干参数相关说明如下:

  • 参数“search_path”值,必需配置为以逗号分隔的模式名序列,并需确保该模式名存在,否则会影响数据库的使用。
  • 开启参数“log_duration”,可能会在日志中记录带有敏感信息的SQL语句,建议关闭该配置。
  • 参数“log_min_duration_statement”用于设置最小执行时间,执行时间大于等于这个值的语句都将被记录,单位为毫秒。 值为0,表示记录所有语句,值为-1,表示不记录语句。
  • 参数“nls_timestamp_format”“nls_date_format”可控制timestamp和date数据类型输入输出格式,仅支持PostgreSQL增强版。
    • “nls_timestamp_format”是时间戳数据类型格式,“nls_date_format” 是日期数据类型格式,两者更改其一即可生效。
  • 参数“temp_file_limit”是每个会话可使用的所有临时文件的最大值,单位是KB,仅支持PostgreSQL 11和PostgreSQL 12。该操作是高危操作,请确认后进行配置。
    • 如果配置的参数值超过约束时,会导致实例异常。
    • 如果将参数值修改为较大值供临时使用,使用完成后没有将参数修改为原来的值,可能会导致误用临时空间导致占满磁盘停止用户业务,且用户实例变为异常。

修改性能参数

若干参数相关说明如下:

  • 参数“log_statement”配置为“ddl”“mod”“all”,会记录创建及删除数据库用户的操作,包含数据库用户的密码等敏感信息,同时也会影响数据库的性能,请确认后进行配置。
  • 开启参数“log_hostname”“log_duration”“log_connections”“log_disconnections”会影响数据库的性能,请确认后进行配置。