Documentation
postgresql_query
Execute SQL queries against PostgreSQL databases.
Attributes
check_mode:
support: full
Parameters
| Parameter | Required | Type | Values | Description |
|---|---|---|---|---|
| database | string | Database name to connect to. [default: "postgres"] |
||
| login_host | string | Host running the database. [default: "localhost"] |
||
| login_password | string | The password to authenticate with. | ||
| login_port | integer | Database port to connect to. [default: 5432] |
||
| login_unix_socket | string | Path to a Unix domain socket for local connections. | ||
| login_user | string | The username to authenticate with. | ||
| query | true | string | SQL query to execute. | |
| single_transaction | boolean | Execute query in a single transaction. [default: false] |
||
| ssl_cert | string | Path to SSL client certificate. | ||
| ssl_key | string | Path to SSL client key. | ||
| ssl_mode | string | SSL mode for the connection. |
Examples
- name: Create application schema
postgresql_query:
database: myapp
query: "CREATE SCHEMA app_schema"
login_user: postgres
login_password: "{{ pg_pass }}"
- name: Run migration script
postgresql_query:
database: myapp
query: "{{ lookup('file', 'migrations/v1.sql') }}"
login_user: appuser
login_password: "{{ app_pass }}"
- name: Create extension
postgresql_query:
database: myapp
query: "CREATE EXTENSION IF NOT EXISTS \"uuid-ossp\""
login_user: postgres
- name: Query with SSL
postgresql_query:
database: myapp
query: "SELECT * FROM users LIMIT 10"
login_host: db.example.com
login_user: admin
login_password: secret
ssl_mode: require
- name: Query using unix socket
postgresql_query:
database: myapp
query: "SELECT version()"
login_user: postgres
login_unix_socket: /var/run/postgresql