gpt4 book ai didi

postgresql - salt 栈 : restart server (not only reload) on particular change

转载 作者:行者123 更新时间:2023-11-29 12:23:18 25 4
gpt4 key购买 nike

在大多数情况下,重新加载我们的 PostgreSQL 服务器就足够了:

postgresql_service:
service.running:
- name: postgresql
- enable: True
- reload: True
- watch:
- file: postgresql.conf
- file: pg_hba.conf
- require:
- pkg: postgresql
- failhard: True

但是对于某些特定的更改,重新加载是不够的,需要重新启动。

例如,如果将此行添加到 postgresql.conf,则需要重新启动:

shared_preload_libraries = 'pglogical'

如果上面的行被添加到配置文件中,我如何告诉 Salt 使用重启?

例子:

  1. salt 运行并且“pglogical”在运行salt 之前和之后不在配置中。服务器应该重新加载。
  2. 配置更改并添加了“pglogical”。现在服务器应该重新启动了
  3. 配置更改并且“pglogical”已在文件中。服务器应该重新加载。

最佳答案

这取决于你的 sls 架构。例如,如果您的支柱中有一个变量,并且您有一个 map.jinja,您可以使用类似下面的代码片段来处理它。

{% from "postgresql/map.jinja" import pillars with context %}

postgresql_service:
service.running:
- name: postgresql
- enable: True
{% if pillars.shared_preload_libraries=='pglogical' %}
- reload: True
{% endif %}
- watch:
- file: postgresql.conf
- file: pg_hba.conf
- require:
- pkg: postgresql
- failhard: True

关于postgresql - salt 栈 : restart server (not only reload) on particular change,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58007104/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com