配置参数

 

参数介绍

更新时间 2023-09-06

在 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。说明:
    • 内存中的排序比溢出到磁盘的排序快得多,但设置非常高的值可能会导致部署环境出现内存瓶颈。
    • 该参数是按用户排序操作,如果有多个用户尝试执行排序操作,则系统将为所有用户分配大小为 work_mem *总排序操作数的空间。
    • 全局设置此参数可能会导致内存使用率过高,建议在会话级别修改此参数值。
  • maintenance_work_mem - 表示在维护性操作(例如VACUUM,RESTORE,CREATE INDEX,ADD FOREIGN KEY和ALTER TABLE等)中使用的最大的内存大小。
  • 默认值 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,表示打开这个参数,PostgreSQL 服务器将尝试确保更新被物理地写入到磁盘。
    • 修改该值可能得到性能上的提升,但当发生意外情况时,可能会造成不可恢复的数据损坏。不建议用户修改该值。
    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 发送进程的最大数量。(即同时运行 WAL SENDER进程 的最大数),如果用户有使用逻辑复制、发布/订阅,建议可根据实际需要适当调大。
    - 默认值 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。
  • 这篇文档解决了您的问题吗?
    0
    0