如何安装具有堆叠状态的PostgreSQL 13?

如何安装具有堆叠状态的PostgreSQL 13?,postgresql,salt-stack,Postgresql,Salt Stack,题目基本上就是问题所在。我正在使用CentOS 8,希望开始使用Saltstack状态来安装Postgresql-13、AdoptOpenJDK等东西 install-postgresql13-repository: cmd.run: - name: rpm -U --force https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.r

题目基本上就是问题所在。我正在使用CentOS 8,希望开始使用Saltstack状态来安装Postgresql-13、AdoptOpenJDK等东西

    install-postgresql13-repository:
  cmd.run:
    - name: rpm -U --force https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

install-postgresql13-server:
  cmd.run:
    - name: dnf install postgresql13-server -y

postgresql-first-run-init:
  cmd.run:
    - name: /usr/pgsql-13/bin/postgresql-13-setup initdb
    - unless: stat /var/lib/pgsql/13/data/postgresql.conf
    - runas: root

start-postgresql13-server:
  cmd.run:
    - name: systemctl start postgresql-13

enable-postgresql13-autostart:
  cmd.run:
    - name: systemctl enable postgresql-13

但据我所知,cmd.run不是最好的选择。

使用Saltstack这样的工具的主要好处是它通过“状态”提供的幂等性

在不涉及完整解决方案的情况下,我建议您通过

例如,下面的代码第一次运行正常,但第二次运行时可能会出现错误。即使有效,也没有必要

cmd.run:
-名称:rpm-U--forcehttps://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
然而,如果您使用下面这样的Salt状态模块,则它们将仅在需要时更新。后续运行不会尝试进行更改

install-postgresql13-repository:
安装包:
-资料来源:
-pgdg redhat回购:https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
安装postgresql server:
安装包:
-名称:postgresql13服务器
#同样,在适用的情况下,将盐状态用于其他任务

标题不是问题。您遇到了什么问题?正如您所说,使用
cmd.run
不是最佳选择。这就像用Saltstack编写一个
shell
脚本。它使盐州失去了“状态”。如果它适合你的需要,你可以开始使用它并重复使用。谢谢@seshadri_c我会查公式的。我编辑了标题(所以现在是个问题)