本节介绍如何修改 RadonDB PostgreSQL 数据库的配置参数。

RadonDB PostgreSQL 实例支持编辑配置参数,通过管理配置参数可调优数据库性能,并可启用数据库高可用性能。

警告

修改部分配置参数后,PostgreSQL 服务会重启,造成业务中断。请谨慎操作。

前提条件

  • RadonDB PostgreSQL 实例状态为运行中

操作步骤

  1. 以 platform-admin 角色登录 KubeSphere 企业版 Web 控制台并进入数据库管理平台。

  2. 在左侧导航栏选择 PostgreSQL

  3. 在 PostgreSQL 实例列表中,点击一个实例名称打开其详情页面。

  4. 点击页面右侧的参数管理页签,点击编辑即可修改配置参数。

  5. 点击确定保存。

参数简介

参数 说明

内核

数据库内核版本。创建成功后,不支持修改。

port

PostgreSQL 服务器监听的端口号。取值范围为 1~65534,参数值不能为 55555。

fsync

是否设置 PostgreSQL 服务器尽可能确保更新被物理写入磁盘。默认值为 true

full_page_writes

是否设置 PostgreSQL 服务器在每个检查点后第一次修改时将每个磁盘页面的全部内容写入 WAL。

wal_compression

表示流式复制并发连接的最大数量是否设置 PostgreSQL 服务器在基础备份过程中或在 full_page_writes 启用时压缩写入到 WAL 的完整页面。

jit

JIT 编译可用时,是否允许 PostgreSQL 使用 JIT 编译。

autovacuum

服务器是否运行自动清理启动器守护进程。

synchronous_commit

数据库服务器向客户端返回 success 指示之前所需要完成的 WAL 处理工作量。

wal_level

写入 WAL 的信息级别。

temp_buffers

每个数据库会话用作临时缓冲区的最大内存大小,单位为 MB。取值范围为 1~32768,默认值为 1

work_mem

将数据写入临时磁盘文件之前查询操作所使用的内存上限,单位为 MB。取值范围为 1~1024。

maintenance_work_mem

用于 VACUM、CREATE INDEX、ALTER TABLE ADD FOREIGN KEY 等维护操作的最大内存空间,单位为 MB。取值范围为 64~1024。

shared_buffers

数据库服务器用作共享缓冲区的内存,单位为 MB。取值范围为 128~10240。

max_connections

并发连接的最大数量。取值范围为 100~262143。

max_worker_processes

并发工作进程的最大数量。取值范围为 10~65536。

wal_writer_delay

WAL 写入器的活动轮次之间的睡眠时间,单位为毫秒。取值范围为 1~10000。

wal_writer_flush_after

WAL 写入器写入 WAL 日志的数量阈值,单位为 MB。达到此参数值时将触发刷写。取值范围为 1~1024。

commit_delay

在提交事务和将 WAL 刷写到到磁盘之间的延迟,单位为微秒。取值范围为 0~100000,默认值为 0

commit_siblings

执行 commit_delay 所需并发活动事务的最小数量。取值范围为 0~1000,默认值为 5

bgwriter_delay

后台写入器的活动轮次之间的睡眠时间,单位为毫秒。取值范围为 10~10000,默认值为 10

bgwriter_lru_maxpages

后台写入器每个轮次刷写的 LRU 页面的最大数量。取值范围为 0~1073741823,默认值为 1000

bgwriter_flush_after

当后台写入器写入的数据量大于此参数值时(单位为 KB),尝试强制要求操作系统将写入的数据刷写到底层存储系统中。取值范围为 0~2048,默认值为 512

statement_timeout

语句的最大持续时间,单位为微秒。花费时间超过此参数值的语句将被中止。取值范围为 0~2147483647,默认值为 0

idle_in_transaction_session_timeout

在事务查询之间最大空闲时间,单位为微秒。空闲时间超过此参数值的会话将被终止。取值范围为 0~2147483647,默认值为 86400000

log_min_duration_statement

触发日志记录的语句最短执行时间,单位为毫秒。取值范围为 -1~2147483647,默认值为 10000

checkpoint_timeout

WAL 自动检查点之间的最大时间间隔,单位秒。取值范围为 30~86400,默认值为 300

autovacuum_vacuum_cost_delay

autovacuum 操作的代价延迟值,单位为毫秒。取值范围为 -1~100,默认值为 0

autovacuum_vacuum_cost_limit

autovacuum 操作的代价限制值。取值范围为 -1~10000,默认值为 10000

autovacuum_vacuum_scale_factor

触发 autovacuum VACUUM 操作的表大小比例阈值。取值范围为 0.01~100,默认值为 0.02

autovacuum_analyze_scale_factor

触发 autovacuum ANALYZE 操作的表大小比例阈值。取值范围为 0.01~100,默认值为 0.05

vacuum_defer_cleanup_age

VACUUM 和 HOT cleanup 操作的延迟(以事务数量计)。取值范围为 0~1000000,默认值为 10000

seq_page_cost

规划器对于一次顺序获取磁盘页面的代付估计。取值范围为 0~100000000,默认值为 1

random_page_cost

规划器对于一次非顺序获取磁盘页面的代付估计。取值范围为 0~100000000,默认值为 1.1

cpu_tuple_cost

规划器对一次查询中处理每一行的代价估计。取值范围为 0~100000000,默认值为 0.01

cpu_index_tuple_cost

规划器对一次索引扫描中处理每一个索引项的代价估计。取值范围为 0~100000000,默认值为 0.005

log_min_messages

写入到服务器日志的消息等级。

log_statement

需要记录的 SQL 语句的类型。

max_wal_senders

同时运行的 WAL 发送器进程的最大数量。取值范围为 10~262143,默认值为 15

max_replication_slots

复制槽(replication slot)的最大数量。修改此参数值将导致数据库服务重启。取值范围为 10~262143,默认值为 15