设置RDS PostgreSQL实例的参数

当您需要个性化调整数据库实例参数以提升性能或适应特定需求时,RDS PostgreSQL支持通过控制台和API方式修改参数值,您还可以查询参数的修改历史。

注意事项

  • 部分参数修改后,在提交参数时会立即重启实例,详情请参见控制台上可修改参数页面中的是否重启列。重启实例会造成连接中断,重启前请做好业务安排,谨慎操作。

  • 修改参数值时,请参考控制台上可修改参数标签页中的参数值范围列。

  • 在主实例修改下列参数时,相关的只读实例上的这些参数也将同步进行修改。

    wal_level、max_replication_slots、max_wal_senders、max_locks_per_transaction

  • 在修改参数时,系统将首先尝试应用所更改的参数。如果所修改的参数值不合理,或者会导致实例无法启动,则该修改操作将被回滚,并且参数修改结果将标记为失败。您可以在参数修改历史标签页的是否生效,查看参数的修改结果。

修改参数值

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。

  2. 在左侧导航栏单击参数设置

  3. 可修改参数标签页找到目标参数进行修改。您可以选择修改单个参数或批量修改参数,步骤如下:

    • 修改单个参数

      1. 单击要修改的参数后的

      2. 输入目标值并单击确定

      3. 单击提交参数

      4. 在弹出的对话框中,单击确定

    • 批量修改参数

      1. 单击导出参数,导出参数文件到本地。

      2. 打开参数文件,修改参数值。

      3. 单击导入参数

      4. 导入参数窗口粘贴要修改的参数及参数值,并单击确定

      5. 确认参数列表中的参数修改结果,单击提交参数

查询参数修改历史

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。

  2. 在左侧导航栏单击参数设置

  3. 选择参数修改历史标签页。

  4. 选择要查询的时间范围,单击确定

参数表达式

实例的参数设置支持使用表达式方式,将与实例规格相关的参数设置为表达式,在实例规格发生变更时,此处设置的参数值会动态变化,对于变更后的规格仍然适用。

表达式语法的相关支持详见下表。

支持类别

支持说明

样例

参数

支持使用表达式语法的参数有:

支持使用表达式语法的参数

  • work_mem:指定在写入临时文件之前内部排序操作和散列表使用的内存量。

  • maintenance_work_mem:设置用于维护操作的最大内存,包括VACUUM、CREATE INDEX等操作。

  • autovacuum_work_mem:指定每个自动清理工作者进程能使用的最大内存量。

  • max_parallel_workers:设置系统为并行操作所支持的工作者的最大数量。

  • max_parallel_workers_per_gather:设置单个Gather或者Gather Merge节点能够开始的工作者的最大数量。

  • effective_cache_size:设置优化器对数据缓存总大小的预设值。

  • autovacuum_max_workers:指定能同时运行的自动清理进程(除了自动清理启动器之外)的最大数量。

  • max_wal_size:设置触发检查点的WAL日志大小。

  • min_wal_size:设置回收WAL日志的最小大小,只要WAL磁盘用量保持在此配置之下,在检查点时旧的WAL文件总是被回收以便未来使用,而不是直接被删除。

  • temp_file_limit:指定一个进程能用于临时文件(如排序和哈希临时文件,或者用于保持游标的存储文件)的最大磁盘空间量。

  • wal_buffers:为WAL设置共享内存中的磁盘页缓冲区大小,即用于还未写入磁盘的WAL数据的共享内存量。

  • max_parallel_maintenance_workers:设置CREATE INDEX并行工作的最大数量。

说明

参数max_parallel_maintenance_workers仅支持RDS PostgreSQL 11.0~14.0,其他参数支持RDS PostgreSQL 10.0~14.0。

effective_cache_size

变量

  • AllocatedStorage:实例规格的存储空间大小,单位MB,整数型。

  • DBInstanceClassMemory:实例规格的内存大小,单位Byte,整数型。

  • DBInstanceClassCPU:实例规格的CPU核数,整数型。

  • DBInstanceClassConnections:实例规格的最大连接数,整数型。

说明

关于实例规格列表以及各规格的存储空间、内存、CPU核数以及最大连接数,请参见RDS PostgreSQL主实例规格列表

effective_cache_size={DBInstanceClassMemory/16384}

运算符

  • 表达式语法:使用{}包裹。

  • 除法运算符(/):用被除数除以除数,返回整数型商。如果商是小数,则不四舍五入,只取整数部分,被除数和除数支持小数运算。

  • 乘法运算符(*):两个乘数相乘,返回整数型积。如果积是小数,则不四舍五入,只取整数部分,两个乘数支持小数运算。

函数

  • 函数GREATEST(),返回整数型或者参数公式列表中最大的值。

  • 函数LEAST(),返回整数型或者参数公式列表中最小的值。

  • 函数SUM(),添加指定整数型或者参数公式的值。

max_parallel_workers={GREATEST(DBInstanceClassCPU*3/4, 8)}

相关文档