参数介绍
在 AppCenter 集群管理控制台,支持对 PostgreSQL 常用配置参数的管理。
本小节主要介绍 AppCenter 中各 PostgreSQL 不可修改配置参数的含义,可修改参数说明请参见配置参数页面具体参数说明。
不可修改参数
参数 | 取值范围 | 参数说明 |
---|---|---|
数据库版本 |
11、10、9 |
表示当前数据库 PostgreSQL 内核参数。 不可修改。 |
数据库名称 |
- |
表示新创建的数据库名称。
|
数据库用户名 |
- |
表示新创建的数据库用户名。
|
数据库密码 |
- |
表示新创建的数据库密码。 默认为 |
pgpool 参数
参数 | 取值范围 | 参数说明 |
---|---|---|
serialize_accept |
|
表示是否开启序列化连接请求。
|
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 |
|
表示数据库的最大并发连接数。
该参数修改后,将重启数据库。 |
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 |
|
表示控制服务器是否运行自动清理启动器后台进程。 默认值 |
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 |
|
表示是否开启 PostgreSQL 服务器将尝试确保更新被物理地写入到磁盘。 默认值 |
commit_delay |
0~100000 |
表示在一次 WAL 刷写被发起之前,commit_delay 增加的延迟时间。 默认值 0,单位为微秒。 |
commit_siblings |
0~1000 |
表示在执行 commit_delay 延迟时,要求的并发活动事务的最小数量。 默认值 5。 |
enable_bitmapscan |
|
表示是否允许查询规划器使用位图扫描计划类型。 默认值 |
enable_seqscan |
|
表示是否允许查询规划器使用顺序扫描计划类型。 默认值 |
full_page_writes |
|
表示 PostgreSQL 服务器在一个检查点之后的页面的第一次修改期间,是否将每个页面的全部内容写到 WAL 中。 默认值 |
参数 | 取值范围 | 参数说明 |
---|---|---|
log_min_messages |
|
表示写入到服务器日志的消息级别。 默认值 |
deadlock_timeout |
0~1000 |
表示死锁检测之前在一个锁上等待的总时间。 默认值 1ms,单位为毫秒。 |
log_lock_waits |
|
表示当一个会话为获得一个锁等到超过 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 |
|
表示被记录的 SQL 语句类型。 默认值 |
shared_preload_libraries |
|
表示预加载到服务器的共享库。
|
wal_level |
|
wal_level 决定有多少信息被写入到 WAL 中。
该参数修改后,将重启数据库。 |
shared_buffers |
|
表示服务器使用的共享内存缓冲区的大小。 默认值 若设置为数值,单位为 MB。 该参数修改后,将重启数据库。 |
jit |
|
表示是否允许 jit 编译。 默认值 |
port |
1~65535 |
表示数据库端口。 |