马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
×
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 主程序版本。如果数据库已经初始化完成,修改此参数会导致数据库无法启动。
|