极狐GitLab 正式推出面向 GitLab 老旧版本(12.x、13.x、14.x、15.x 等)免费用户的专业升级服务,点击查看详情

返回列表 发布新帖

postgreSQL 常用参数

712 0
发表于 2024-4-15 13:02:00 | 显示全部楼层 阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
roles (['patroni_role']) == roles (['postgres_role']) + patroni['enable'] = true

# Patroni
patroni['replication_slots'] = {
  'geo_secondary' => { 'type' => 'physical' }
}
声明一个持久复制槽,如果为声明,在 patroni 发生节点切换后,复制槽会被自动删除,主要用于 geo 复制使用

patroni['replication_password'] = 'xxxxx'
如果在初始化 replica 节点或者 standby cluster 时,节点间鉴权配置的不是 trust,就需要指定复制时使用的密码,复制的用户是 gitlab_replicator

patroni['scope'] = 'gitlab-postgresql-ha'
可以简单的理解为集群的名字,会使用此名字在 consul 中创建以此 <scope> 为 prefix 的键值。

patroni['allowlist'] = []
允许调用 API 的地址,默认允许所有地址

patroni['username'] = nil
patroni['password'] = nil
调用 API 是的基础验证

# PostgreSQL
postgresql['listen_address'] = "*"
开启数据库网络监听,开启后可以提供对外访问,默认只能通过 socket 本地访问,默认 socket 路径`/var/opt/gitlab/postgresql/`,可以通过`-h`参数指定

postgresql['username'] = "gitlab-psql"
自定义的数据库超级用户。`gitlab-psql`命令就是通过此用户连接到数据库。

postgresql['dir'] = "/var/opt/gitlab/postgresql"
定义的超级用户的家目录。

postgresql['home'] = "/var/opt/gitlab/postgresql"
数据库文件存放路径(即 PGHOME)。如果在实例初始化后修改此参数需要手动 mv 下面所有文件到新目录。
PGHOME=/var/opt/gitlab/postgresql
PGDATA=/var/opt/gitlab/postgresql/data

postgresql['sql_user'] = "gitlab"
postgresql['sql_user_password'] = 'SQL_USER_PASSWORD_HASH'
在数据库中创建的普通用户的,可以指定此参数自动初始化出 praefect 用户,任何时候都可以。

postgresql['md5_auth_cidr_addresses'] = %w(10.0.0.12/32)
postgresql['trust_auth_cidr_addresses'] = %w(127.0.0.1/32)
连接白名单设置,trust 代表指定 ip 免密连接,md5 代表接受以 md5 方式密码加密的用户验证后连接, trust 设置优先级高于 MD5。如果是外置数据库,这里需要注意,默认密码加密方式是 SCRAM-SHA-256(最安全)。如果不是 MD5 需要修改数据库参数:
    alter system set password_encryption to 'md5';
    select pg_reload_conf();
    alter user gitlab with encrypted password '<your password>';
    select rolname,rolpassword from pg_authid;
如果不进行以上修改就需要通过如下参数自定义鉴权规则:
postgresql['custom_pg_hba_entries'] = {
  APPLICATION: [
    {
      type: example,
      database: example,
      user: example,
      cidr: example,
      method: example,
      option: example
    }
  ]
}

postgresql['hot_standby'] = "on"
用于流复制从库,on 表示开启从库只读,off 不可读。

postgresql['max_wal_senders'] = 5
用于流复制,设置数据发送进程的数量,一般设置为实际数量+1,一个从库实际为 1。

postgresql['max_replication_slots'] = 0
用于流复制,允许创建物理复制槽的数量。

postgresql['sql_replication_user'] = "gitlab_replicator"
postgresql['sql_replication_password'] = "md5 hash of postgresql password" 
创建用于流复制的用户。

postgresql['version'] = 10
此参数可以切换 postgresql 主程序版本。如果数据库已经初始化完成,修改此参数会导致数据库无法启动。
回复

使用道具 举报

意见建议

Email:forum@gitlab.cn
  • 关注公众号
  • 添加专业顾问
Copyright © 2001-2024 极狐GitLab论坛 版权所有 All Rights Reserved. 鄂ICP备2021008419号-1|鄂公网安备42018502006137号
关灯 快速发帖
扫一扫添加专业顾问
返回顶部
快速回复 返回顶部 返回列表