在 AppCenter 集群管理控制台,支持对 PostgreSQL 常用配置参数的管理。

本小节主要介绍 AppCenter 中各 PostgreSQL 不可修改配置参数的含义,可修改参数说明请参见配置参数页面具体参数说明。

不可修改参数

参数 取值范围 参数说明

数据库版本

11、10、9

表示当前数据库 PostgreSQL 内核参数。

不可修改。

数据库名称

-

表示新创建的数据库名称。

  • 默认为 qingcloud

  • 初始化集群的时候生效,创建后修改无效。

数据库用户名

-

表示新创建的数据库用户名。

  • 默认为 pguser

  • 初始化集群的时候生效,创建后修改无效。

数据库密码

-

表示新创建的数据库密码。

默认为 qingcloud1234

pgpool 参数

参数 取值范围 参数说明

serialize_accept

  • on

  • 关闭

表示是否开启序列化连接请求。

  • 需同时设置 child_life_time 参数为 0 ,该参数才生效。

  • 该参数修改后,将重启 pgpool。

pgpool_port

1~65535

表示 pgpool 监听端口。

默认值9999。

该参数修改后,将重启 pgpool。

child_life_time

0~65535

表示以防止内存泄漏,终止 PGPoCII 空闲子进程的时间。单位为秒。

默认值 300,取值 0,表示禁用该参数。

该参数修改后,将重启 pgpool。

connection_life_time

0~65535

表示终止 PostgreSQL 连接的时间。单位为秒。

默认值 600,取值 0,表示禁用该参数。

该参数修改后,将重启 pgpool。

client_idle_limit

0~65535

表示自上次查询以来客户端连接的生存时间。单位为秒。

默认值 0,表示禁用该参数。

该参数修改后,将重启 pgpool。

max_pool

1~8

表示每个 pgpool 子进程中缓存连接的最大数量。

默认值 2。

该参数修改后,将重启 pgpool。

num_init_children

1~5000

表示预先创建的 pgpool 服务进程的数量。

默认值100。受内存大小影响,该参数实际值可能小于设定值。

该参数修改后,将重启 pgpool。

数据同步

参数 取值范围 参数说明

是否同步流复制

表示是否开启同步流复制。

请基于自己的业务需求,慎重选择此参数。

是否开启半同步模式

表示是否开启半同步模式。 在开启同步流复制前提下,从机节点异常无法完成数据同步时,主库将自动切换为异步流复制模式,确保业务不受阻塞。备库恢复正常后,主库恢复同步流复制。

需同时开启同步流模式。

高可用

参数 取值范围 参数说明

load_read_request_to_primary

表示是否将读请求负载到主节点。

auto_failover

表示当主节点 down 了时,从节点是否自动提升为主。

性能优化

参数 取值范围 参数说明

max_connections

  • auto-optimized-conns

  • 20~

表示数据库的最大并发连接数。

  • 默认值 auto-optimized-conns,表示根据资源配置自动适配最大连接数。

  • 若设置为数值,请输入大于20的整数。

该参数修改后,将重启数据库。

wal_buffers

-

表示用于还未写入磁盘的 WAL 数据的共享内存大小。

默认值 8MB。

该参数修改后,将重启数据库。

work_mem

-

表示在写到临时磁盘文件之前被内部排序操作和哈希表使用的内存大小。

默认值 4MB。

maintenance_work_mem

-

表示在维护性操作(例如 VACUUM、CREATE INDEX 和 ALTER TABLE ADD FOREIGN KEY)中使用的最大的内存大小。

默认值 64MB。

effective_cache_size

-

表示规划器对一个单一查询可用的有效磁盘缓冲区容量大小。

默认值 4GB。

max_replication_slots

6~15

表示 replication slots 的最大数量。

默认值10。

该参数修改后,将重启数据库。

checkpoint_timeout

-

表示自动 WAL 检查点之间的最长时间。

默认值 5分钟,以秒计。

autovacuum

  • on

  • 关闭

表示控制服务器是否运行自动清理启动器后台进程。

默认值 on

vacuum_cost_delay

0~100

表示进程超过代价限制后将休眠的时间。

默认值 0,单位为毫秒。

autovacuum_naptime

-

表示自动清理在任意给定数据库上运行的最小延迟时间。

默认值 1min。

参数 取值范围 参数说明

vacuum_cost_limit

0~10000

表示将导致清理进程休眠的累计代价。

默认值 200。

bgwriter_delay

10~10000

表示后台写入器活动轮次之间的延迟。

默认值 200。

bgwriter_lru_multiplier

0~10

表示在每个轮次中,不超过这么多个缓冲区将被后台写入器写出。

默认值 2。

wal_writer_delay

1~10000

表示WAL 写入器的活动轮次之间的延迟。

默认值 200。

fsync

  • on

  • 关闭

表示是否开启 PostgreSQL 服务器将尝试确保更新被物理地写入到磁盘。

默认值 on

commit_delay

0~100000

表示在一次 WAL 刷写被发起之前,commit_delay 增加的延迟时间。

默认值 0,单位为微秒。

commit_siblings

0~1000

表示在执行 commit_delay 延迟时,要求的并发活动事务的最小数量。

默认值 5。

enable_bitmapscan

  • on

  • 关闭

表示是否允许查询规划器使用位图扫描计划类型。

默认值 on

enable_seqscan

  • on

  • 关闭

表示是否允许查询规划器使用顺序扫描计划类型。

默认值 on

full_page_writes

  • on

  • 关闭

表示 PostgreSQL 服务器在一个检查点之后的页面的第一次修改期间,是否将每个页面的全部内容写到 WAL 中。

默认值 on

参数 取值范围 参数说明

log_min_messages

  • info

  • notice

  • warning

  • error

  • log

  • fetal

  • panic

  • debug 1

  • debug 2

  • debug 3

  • debug 4

  • debug 5

表示写入到服务器日志的消息级别。

默认值 error

deadlock_timeout

0~1000

表示死锁检测之前在一个锁上等待的总时间。

默认值 1ms,单位为毫秒。

log_lock_waits

  • on

  • 关闭

表示当一个会话为获得一个锁等到超过 deadlock_timeout 时,是否要产生一个日志消息。

默认值 关闭

log_min_duration_statement

-1~1000000

表示如果语句运行至少指定的毫秒数,将导致记录每一个这种完成的语句的持续时间。

默认值 -1。

temp_buffers

-

表示每个数据库会话使用的临时缓冲区的最大容量大小。

默认值 8MB。

max_prepared_transactions

0~65536

表示同时处于 prepared 状态的事务的最大数量。

默认值 256。

max_wal_senders

0~20

表示来自后备服务器或流式基础备份客户端的并发连接的最大数量,即同时运行 WAL 发送进程的最大数量。

默认值 10。

该参数修改后,将重启数据库。

bgwriter_lru_maxpages

0~1000

表示在每个轮次中,不超过这么多个缓冲区将被后台写入器写出。

默认值 100。

log_statement

  • none

  • ddl

  • mod

  • 全部

表示被记录的 SQL 语句类型。

默认值 none

shared_preload_libraries

  • pg_stat_statements

  • pg_pathman

  • passwordcheck

  • timescaledb

  • pgaudit

  • pg_jieba.so

  • plugin_debugger

  • null

表示预加载到服务器的共享库。

  • 默认选择 passwordcheck

  • 空表示不预加载任何共享库。

wal_level

  • replica

  • logical

wal_level 决定有多少信息被写入到 WAL 中。

  • 默认值是最小的(minimal),其中只写入从崩溃或立即关机中恢复的所需信息。

  • replica 增加 WAL 归档信息,同时包括只读服务器需要的信息。

  • logical 主要用于 logical decoding 场景。

该参数修改后,将重启数据库。

shared_buffers

  • auto-optimized-sharedbuffers

  • 关闭

表示服务器使用的共享内存缓冲区的大小。

默认值 auto-optimized-sharedbuffers,表示根据资源配置适配大小。

若设置为数值,单位为 MB。

该参数修改后,将重启数据库。

jit

  • on

  • 关闭

表示是否允许 jit 编译。

默认值 关闭

port

1~65535

表示数据库端口。
默认值 5432。