New in version 2.8.
The below requirements are needed on the host that executes this module.
Parameter | Choices/Defaults | Comments |
---|---|---|
ca_cert string | Specifies the name of a file containing SSL certificate authority (CA) certificate(s). If the file exists, the server's certificate will be verified to be signed by one of these authorities. aliases: ssl_rootcert | |
cascade boolean |
| Automatically drop objects that depend on the index, and in turn all objects that depend on those objects. It used only with state=absent. Mutually exclusive with concurrent=yes
|
columns list / elements=string | List of index columns that need to be covered by index. Mutually exclusive with state=absent. aliases: column | |
concurrent boolean |
| Enable or disable concurrent mode (CREATE / DROP INDEX CONCURRENTLY). Pay attention, if concurrent=no, the table will be locked (ACCESS EXCLUSIVE) during the building process. For more information about the lock levels see https://www.postgresql.org/docs/current/explicit-locking.html. If the building process was interrupted for any reason when cuncurrent=yes, the index becomes invalid. In this case it should be dropped and created again. Mutually exclusive with cascade=yes. |
cond string | Index conditions. Mutually exclusive with state=absent. | |
db string | Name of database to connect to and where the index will be created/dropped. aliases: login_db | |
idxname string / required | Name of the index to create or drop. aliases: name | |
idxtype string | Index type (like btree, gist, gin, etc.). Mutually exclusive with state=absent. aliases: type | |
login_host string | Host running the database. | |
login_password string | The password used to authenticate with. | |
login_unix_socket string | Path to a Unix domain socket for local connections. | |
login_user string | Default: "postgres" | The username used to authenticate with. |
port integer | Default: 5432 | Database port to connect to. aliases: login_port |
schema string | Name of a database schema where the index will be created. | |
session_role string | Switch to session_role after connecting. The specified session_role must be a role that the current login_user is a member of. Permissions checking for SQL commands is carried out as though the session_role were the one that had logged in originally. | |
ssl_mode string |
| Determines whether or with what priority a secure SSL TCP/IP connection will be negotiated with the server. See https://www.postgresql.org/docs/current/static/libpq-ssl.html for more information on the modes. Default of prefer matches libpq default. |
state string |
| Index state.
state=present implies the index will be created if it does not exist.
state=absent implies the index will be dropped if it exists. |
storage_params list / elements=string | Storage parameters like fillfactor, vacuum_cleanup_index_scale_factor, etc. Mutually exclusive with state=absent. | |
table string / required | Table to create index on it. Mutually exclusive with state=absent. | |
tablespace string | Set a tablespace for the index. Mutually exclusive with state=absent. |
Note
postgres
account on the host.See also
- name: Create btree index if not exists test_idx concurrently covering columns id and name of table products postgresql_idx: db: acme table: products columns: id,name name: test_idx - name: Create btree index test_idx concurrently with tablespace called ssd and storage parameter postgresql_idx: db: acme table: products columns: - id - name idxname: test_idx tablespace: ssd storage_params: - fillfactor=90 - name: Create gist index test_gist_idx concurrently on column geo_data of table map postgresql_idx: db: somedb table: map idxtype: gist columns: geo_data idxname: test_gist_idx # Note: for the example below pg_trgm extension must be installed for gin_trgm_ops - name: Create gin index gin0_idx not concurrently on column comment of table test postgresql_idx: idxname: gin0_idx table: test columns: comment gin_trgm_ops concurrent: no idxtype: gin - name: Drop btree test_idx concurrently postgresql_idx: db: mydb idxname: test_idx state: absent - name: Drop test_idx cascade postgresql_idx: db: mydb idxname: test_idx state: absent cascade: yes concurrent: no - name: Create btree index test_idx concurrently on columns id,comment where column id > 1 postgresql_idx: db: mydb table: test columns: id,comment idxname: test_idx cond: id > 1
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
name string | always | Index name. Sample: foo_idx |
query string | always | Query that was tried to be executed. Sample: CREATE INDEX CONCURRENTLY foo_idx ON test_table USING BTREE (id) |
schema string | always | Schema where index exists. Sample: public |
state string | always | Index state. Sample: present |
storage_params list | always | Index storage parameters. Sample: ['fillfactor=90'] |
tablespace string | always | Tablespace where index exists. Sample: ssd |
valid boolean | always | Index validity. Sample: True |
Hint
If you notice any issues in this documentation, you can edit this document to improve it.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/postgresql_idx_module.html