Patroni for openguass 6:postgresql.conf 参数的校验
  TEZNKK3IfmPf 2024年03月22日 91 0

Patroni生成postgresql.conf中的参数时,不是简单地将patroni.yml里postgresql下的参数直接转为postgresql.conf 里的参数的,而是会做一下校验,校验参数是否存在、范围。

校验代码位于:patroni/postgresql/validator.py

生成 postgresql.conf 的代码位于 patroni/postgresql/config.py 其中会调用  transform_postgresql_parameter_value() 和 transform_recovery_parameter_value() 对patroni.yml 里的参数进行校验,符合版本,范围,并且validator.py中存在的参数,才能被写进postgresql.conf。

对于Opengauss这其实带来一些麻烦,因为Opengauss有许多参数是PG(validator.py)没有的,为了能让这些参数出现在postgersql.conf中,必须在validator.py加入相应的条目,很麻烦,我的解决办法是生成postgersql.conf时不调用transform_postgresql_parameter_value() 和 transform_recovery_parameter_value(),这样无论patroni.yml的postgresql参数区新增什么参数,都会原封不动的出现在postgresql.conf中。

patroni/postgresql/validator.py不做修改,只是不再调用其中的函数,这个文件在opengauss中就算废弃了,在patroni/postgresql/config.py 中注释掉对transform_postgresql_parameter_value() 和 transform_recovery_parameter_value()的调用,代码修改如下:

ConfigHandler.write_postgresql_conf()中:

Patroni for openguass 6:postgresql.conf 参数的校验

ConfigHandler._write_recovery_params()和ConfigHandler.write_recovery_conf()中:

Patroni for openguass 6:postgresql.conf 参数的校验

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

上一篇: java8-巩固练习 下一篇: 卸载 Oracle 19c
  1. 分享:
最后一次编辑于 2024年03月22日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年04月26日   49   0   0 java数据库sql
  TEZNKK3IfmPf   2024年05月31日   25   0   0 sqlite数据库
  TEZNKK3IfmPf   2024年05月31日   26   0   0 数据库mysql
  TEZNKK3IfmPf   2024年05月31日   25   0   0 数据库mysql
TEZNKK3IfmPf