出现该问题的原因可能是连接 PostgreSQL 数据库的信息不正确,以下是一个连接 PostgreSQL 数据库并查询的 Ansible playbook 示例:
- name: PostgreSQL query example
hosts: localhost
vars:
db_host: "localhost"
db_port: "5432"
db_name: "testdb"
db_user: "testuser"
db_password: "testpass"
query: "SELECT * FROM sample_table;"
tasks:
- name: Install required PostgreSQL driver
apt:
name: python-psycopg2
state: present
- name: Execute PostgreSQL query and display output
postgresql_query:
login_host: "{{ db_host }}"
login_port: "{{ db_port }}"
login_user: "{{ db_user }}"
login_password: "{{ db_password }}"
db: "{{ db_name }}"
query: "{{ query }}"
fetch: yes
register: query_result
- name: Display query result
debug:
var: query_result
在 Ansible playbook 文件中,我们首先安装了 PostgreSQL 的 Python 驱动 psycopg2,并在接下来的任务中执行了一个查询操作。在 playbook 中,我们定义了连接 PostgreSQL 数据库所必须的信息,包括用户名、密码、主机名、端口等参数。
当我们运行该 playbook 时,Ansible 将连接 PostgreSQL 数据库并执行定义的查询语句,并在最后一个任务中打印查询结果。
在实际的使用中,我们可以根据需要修改查询语句,以完成我们所期望的数据查询操作。如果在执行 ansible-playbook 时遇到了类似于“postgresql_query gives error”这样的问题,我们需要仔细检查连接 PostgreSQL 数据库的参数是否正确,并确保 PostgreSQL 服务已经正确安装,并已经启动。