diff --git a/changelogs/fragments/57297-postgresql_db_add_note_dump.yml b/changelogs/fragments/57297-postgresql_db_add_note_dump.yml new file mode 100644 index 00000000000..eb8388d7a91 --- /dev/null +++ b/changelogs/fragments/57297-postgresql_db_add_note_dump.yml @@ -0,0 +1,2 @@ +bugfixes: +- postgresql_db - add note to the documentation about state dump and the incorrect rc (https://github.com/ansible/ansible/pull/57297) diff --git a/lib/ansible/modules/database/postgresql/postgresql_db.py b/lib/ansible/modules/database/postgresql/postgresql_db.py index 454d80a6464..296d9e2d1dd 100644 --- a/lib/ansible/modules/database/postgresql/postgresql_db.py +++ b/lib/ansible/modules/database/postgresql/postgresql_db.py @@ -65,6 +65,10 @@ options: - C(present) implies that the database should be created if necessary. - C(absent) implies that the database should be removed if present. - C(dump) requires a target definition to which the database will be backed up. (Added in Ansible 2.4) + Note that in some PostgreSQL versions of pg_dump, which is an embedded PostgreSQL utility and is used by the module, + returns rc 0 even when errors occurred (e.g. the connection is forbidden by pg_hba.conf, etc.), + so the module returns changed=True but the dump has not actually been done. Please, be sure that your version of + pg_dump returns rc 1 in this case. - C(restore) also requires a target definition from which the database will be restored. (Added in Ansible 2.4) - The format of the backup will be detected based on the target name. - Supported compression formats for dump and restore include C(.bz2), C(.gz) and C(.xz)