如何从 Ansible 获取 postgresql_query 结果

dip*_*rus 2 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
Run Code Online (Sandbox Code Playgroud)

谷歌搜索只是说使用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"}
Run Code Online (Sandbox Code Playgroud)

Ansible文档此模块列表返回值,但有我搜索有关如何使用它们没有例子,一切线索右后卫register:

Mat*_*t P 5

听起来你很接近,但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
Run Code Online (Sandbox Code Playgroud)