什么是用Salt Stack运行CREATE EXTENSION的推荐方式?

3

我正在使用Salt Stack来管理我的Linux服务器。我有一个命令来创建我的PostgreSQL数据库,但是我需要在我的数据库上运行“CREATE EXTENSION postgis;”。

我知道我可以使用调用命令行的psql的shell脚本来完成这个操作,但是有没有更合理的方法来使用Salt完成这个操作呢?

这是我的当前数据库配置脚本:

pg-deps:
    pkg:
        - installed
        - names:
            - postgresql-9.3
            - postgis

dbuser:
    postgres_user:
        - present
        - name: foo
        - password: bar
        - runas: postgres

dbname:
    postgres_database:
        - present
        - encoding: UTF-8
        - runas: postgres
        - owner: foo
        - require:
            - postgres_user: dbuser

大多数自动配置工具都有插件机制。这可能是编写一个简单的插件的好机会,该插件查询数据库的 pg_extension,如果扩展不存在或其扩展版本不是来自 pg_available_extensions 的当前版本,则安装它。 - Craig Ringer
1个回答

3

Postgres状态中没有执行“CREATE EXTENSION”的功能。这将是一个非常有用的添加。

同时,在安装的其余部分后运行“cmd.run”应该可以解决问题。


1
谢谢,那就是我最终使用的。 - Jason Champion
1
太好了!很高兴那个方法对你有用。我不确定为什么这个问题被关闭,理由是“主要基于观点”。这是一个非常好的问题。 - Utah_Dave
因为StackOverflow的版主是狂热者。 - Brandon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接