postgresql - 如何从 Ansible 获取 postgresql_query 结果

标签 postgresql ansible

我正在尝试打印 Ansible 运行的 PostgreSQL 查询的输出。不幸的是,我不确定如何获得返回值。

    - name: Get specific tables
      postgresql_query:
        db: "{{ database_name }}"
        login_host: "{{ my_host }}"
        login_user: "{{ my_user }}"
        login_password: "{{ my_password }}"
        query: SELECT * FROM pg_tables t WHERE t.tableowner = current_user

Google 只是说要使用 register:,但是 PostgreSQL ansible 模块没有 register 参数:

fatal: [xx.xxx.xx.xx]: FAILED! => {"changed": false, "msg": "Unsupported parameters for (postgresql_query) module: register Supported parameters include: ca_cert, db, login_host, login_password, login_unix_socket, login_user, named_args, path_to_script, port, positional_args, query, session_role, ssl_mode"}

Ansible docs列出此模块的返回值,但没有关于如何使用它们的示例,以及我搜索的所有内容 leads right back to register: .

最佳答案

听起来你很接近,但是在错误的缩进处有 register。它是任务本身的参数,而不是 postgresql 模块。

尝试:

    - name: Get specific tables
      postgresql_query:
        db: "{{ database_name }}"
        login_host: "{{ my_host }}"
        login_user: "{{ my_user }}"
        login_password: "{{ my_password }}"
        query: SELECT * FROM pg_tables t WHERE t.tableowner = current_user
      register: result

    - debug:
        var: result

关于postgresql - 如何从 Ansible 获取 postgresql_query 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57487357/

相关文章:

sql - 在 Case 语句中进行类型转换

postgresql - 如何将 Firebird 的触发器迁移到 PostgreSQL

POSTGRESQL PG/PGSQL- 带参数的函数

python - 如何使用 Jinja2 将静态项附加到字典

variables - 将 Ansible 变量从一个角色(在一台主机上运行)传递到在同一剧本中的另一台主机上运行的另一个角色

ansible - 获取 csv 列表并使用序列对其进行迭代

vb.net - 无法在 Visual Basic.net 中将 postgresql 查询显示为组合框

JAVA在postgres中存储字符串数组并从中检索JSON数据

ansible - 如何从 Ansible 的自定义模块中打印警告消息?

ssh - Ansible - 建立初始 SSH 连接