我正在尝试打印 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/