From 00ee21022e4809e8a1bba723083058b6b2dbbfb3 Mon Sep 17 00:00:00 2001
From: Douglas J Hunley <doug.hunley@gmail.com>
Date: Mon, 16 May 2022 10:31:18 -0400
Subject: [PATCH 1/7] fix: add missing license file

doc: add changelog fragment

fix: correct license path in _version.py
---
 PSF-license.txt                      | 48 ++++++++++++++++++++++++++++
 changelogs/fragments/psf-license.yml |  2 ++
 plugins/module_utils/_version.py     |  2 +-
 3 files changed, 51 insertions(+), 1 deletion(-)
 create mode 100644 PSF-license.txt
 create mode 100644 changelogs/fragments/psf-license.yml

diff --git a/PSF-license.txt b/PSF-license.txt
new file mode 100644
index 00000000..35acd7fb
--- /dev/null
+++ b/PSF-license.txt
@@ -0,0 +1,48 @@
+PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
+--------------------------------------------
+
+1. This LICENSE AGREEMENT is between the Python Software Foundation
+("PSF"), and the Individual or Organization ("Licensee") accessing and
+otherwise using this software ("Python") in source or binary form and
+its associated documentation.
+
+2. Subject to the terms and conditions of this License Agreement, PSF hereby
+grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce,
+analyze, test, perform and/or display publicly, prepare derivative works,
+distribute, and otherwise use Python alone or in any derivative version,
+provided, however, that PSF's License Agreement and PSF's notice of copyright,
+i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Python Software Foundation;
+All Rights Reserved" are retained in Python alone or in any derivative version
+prepared by Licensee.
+
+3. In the event Licensee prepares a derivative work that is based on
+or incorporates Python or any part thereof, and wants to make
+the derivative work available to others as provided herein, then
+Licensee hereby agrees to include in any such work a brief summary of
+the changes made to Python.
+
+4. PSF is making Python available to Licensee on an "AS IS"
+basis.  PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT
+INFRINGE ANY THIRD PARTY RIGHTS.
+
+5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
+FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
+A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,
+OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+6. This License Agreement will automatically terminate upon a material
+breach of its terms and conditions.
+
+7. Nothing in this License Agreement shall be deemed to create any
+relationship of agency, partnership, or joint venture between PSF and
+Licensee.  This License Agreement does not grant permission to use PSF
+trademarks or trade name in a trademark sense to endorse or promote
+products or services of Licensee, or any third party.
+
+8. By copying, installing or otherwise using Python, Licensee
+agrees to be bound by the terms and conditions of this License
+Agreement.
diff --git a/changelogs/fragments/psf-license.yml b/changelogs/fragments/psf-license.yml
new file mode 100644
index 00000000..f8fbc0bd
--- /dev/null
+++ b/changelogs/fragments/psf-license.yml
@@ -0,0 +1,2 @@
+bugfixes:
+  - Include ``PSF-license.txt`` file for ``plugins/module_utils/_version.py``.
diff --git a/plugins/module_utils/_version.py b/plugins/module_utils/_version.py
index dfcdf093..0a34929e 100644
--- a/plugins/module_utils/_version.py
+++ b/plugins/module_utils/_version.py
@@ -3,7 +3,7 @@
 # Implements multiple version numbering conventions for the
 # Python Module Distribution Utilities.
 #
-# PSF License (see licenses/PSF-license.txt or https://opensource.org/licenses/Python-2.0)
+# PSF License (see PSF-license.txt or https://opensource.org/licenses/Python-2.0)
 #
 
 """Provides classes to represent module version numbers (one class for

From 11a27aa6dca0d0ffae502345e6c669f8308b8fe8 Mon Sep 17 00:00:00 2001
From: Jim Chanco Jr <69092730+jchancojr@users.noreply.github.com>
Date: Sat, 4 Jun 2022 20:23:45 -0400
Subject: [PATCH 2/7] Update postgresql_privs.py to include `ALL x IN SCHEMA`
 functionality for PostgreSQL versions 9.x + (#282)

Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
(cherry picked from commit 7ab23e95c0b6377e797f62340bce1a80607da130)
---
 changelogs/fragments/all_in_schema.yml |  2 ++
 plugins/modules/postgresql_privs.py    | 40 +++++++++++++++++++-------
 2 files changed, 31 insertions(+), 11 deletions(-)
 create mode 100644 changelogs/fragments/all_in_schema.yml

diff --git a/changelogs/fragments/all_in_schema.yml b/changelogs/fragments/all_in_schema.yml
new file mode 100644
index 00000000..daa78732
--- /dev/null
+++ b/changelogs/fragments/all_in_schema.yml
@@ -0,0 +1,2 @@
+bugfixes:
+  - postgresql_privs.py - add functionality when the PostgreSQL version is 9.0.0 or greater to incorporate ``ALL x IN SCHEMA`` syntax (https://github.com/ansible-collections/community.postgresql/pull/282). Please see the official documentation for details regarding grants (https://www.postgresql.org/docs/9.0/sql-grant.html).
diff --git a/plugins/modules/postgresql_privs.py b/plugins/modules/postgresql_privs.py
index e60b6ff4..72420d25 100644
--- a/plugins/modules/postgresql_privs.py
+++ b/plugins/modules/postgresql_privs.py
@@ -702,7 +702,8 @@ def get_type_acls(self, schema, types):
 
     # Manipulating privileges
 
-    def manipulate_privs(self, obj_type, privs, objs, roles, target_roles,
+    # WARNING: usage_on_types has been deprecated and will be removed in community.postgresql 3.0.0, please use an obj_type of 'type' instead.
+    def manipulate_privs(self, obj_type, privs, objs, orig_objs, roles, target_roles,
                          state, grant_option, schema_qualifier=None, fail_on_role=True, usage_on_types=True):
         """Manipulate database object privileges.
 
@@ -712,6 +713,7 @@ def manipulate_privs(self, obj_type, privs, objs, roles, target_roles,
                       or None if type is "group".
         :param objs: List of database objects to grant/revoke
                      privileges for.
+        :param orig_objs: ALL_IN_SCHEMA or None
         :param roles: Either a list of role names or "PUBLIC"
                       for the implicitly defined "PUBLIC" group
         :param target_roles: List of role names to grant/revoke
@@ -784,8 +786,10 @@ def manipulate_privs(self, obj_type, privs, objs, roles, target_roles,
             # Note: obj_type has been checked against a set of string literals
             # and privs was escaped when it was parsed
             # Note: Underscores are replaced with spaces to support multi-word obj_type
-            set_what = '%s ON %s %s' % (','.join(privs), obj_type.replace('_', ' '),
-                                        ','.join(obj_ids))
+            if orig_objs is not None:
+                set_what = '%s ON %s %s' % (','.join(privs), orig_objs, schema_qualifier)
+            else:
+                set_what = '%s ON %s %s' % (','.join(privs), obj_type.replace('_', ' '), ','.join(obj_ids))
 
         # for_whom: SQL-fragment specifying for whom to set the above
         if roles == 'PUBLIC':
@@ -1085,14 +1089,27 @@ def main():
         else:
             privs = None
         # objs:
-        if p.type == 'table' and p.objs == 'ALL_IN_SCHEMA':
-            objs = conn.get_all_tables_in_schema(p.schema)
-        elif p.type == 'sequence' and p.objs == 'ALL_IN_SCHEMA':
-            objs = conn.get_all_sequences_in_schema(p.schema)
-        elif p.type == 'function' and p.objs == 'ALL_IN_SCHEMA':
-            objs = conn.get_all_functions_in_schema(p.schema)
-        elif p.type == 'procedure' and p.objs == 'ALL_IN_SCHEMA':
-            objs = conn.get_all_procedures_in_schema(p.schema)
+        orig_objs = None
+        if p.objs == 'ALL_IN_SCHEMA':
+            if p.type == 'table':
+                objs = conn.get_all_tables_in_schema(p.schema)
+            elif p.type == 'sequence':
+                objs = conn.get_all_sequences_in_schema(p.schema)
+            elif p.type == 'function':
+                objs = conn.get_all_functions_in_schema(p.schema)
+            elif p.type == 'procedure':
+                objs = conn.get_all_procedures_in_schema(p.schema)
+
+            if conn.pg_version >= 90000:
+                if p.type == 'table':
+                    orig_objs = 'ALL TABLES IN SCHEMA'
+                elif p.type == 'sequence':
+                    orig_objs = 'ALL SEQUENCES IN SCHEMA'
+                elif p.type == 'function':
+                    orig_objs = 'ALL FUNCTIONS IN SCHEMA'
+                elif p.type == 'procedure':
+                    orig_objs = 'ALL PROCEDURES IN SCHEMA'
+
         elif p.type == 'default_privs':
             if p.objs == 'ALL_DEFAULT':
                 objs = frozenset(VALID_DEFAULT_OBJS.keys())
@@ -1142,6 +1159,7 @@ def main():
             obj_type=p.type,
             privs=privs,
             objs=objs,
+            orig_objs=orig_objs,
             roles=roles,
             target_roles=target_roles,
             state=p.state,

From 31b418dacd6e5103461c424532d219133949dbda Mon Sep 17 00:00:00 2001
From: Douglas J Hunley <doug.hunley@gmail.com>
Date: Mon, 29 Aug 2022 08:13:59 -0400
Subject: [PATCH 3/7] style: convert yes/no to true/false (#337)

(cherry picked from commit a08ee81dea6dfd150dd92ea45b950d007d6b98b5)
---
 plugins/modules/postgresql_copy.py            |  14 +-
 plugins/modules/postgresql_db.py              |   6 +-
 plugins/modules/postgresql_ext.py             |  10 +-
 plugins/modules/postgresql_idx.py             |  32 +-
 plugins/modules/postgresql_info.py            |  14 +-
 plugins/modules/postgresql_lang.py            |  40 +-
 plugins/modules/postgresql_membership.py      |  16 +-
 plugins/modules/postgresql_owner.py           |  12 +-
 plugins/modules/postgresql_pg_hba.py          |   4 +-
 plugins/modules/postgresql_ping.py            |   8 +-
 plugins/modules/postgresql_privs.py           |  32 +-
 plugins/modules/postgresql_publication.py     |   6 +-
 plugins/modules/postgresql_query.py           |  28 +-
 plugins/modules/postgresql_schema.py          |   8 +-
 plugins/modules/postgresql_sequence.py        |  16 +-
 plugins/modules/postgresql_set.py             |  10 +-
 plugins/modules/postgresql_slot.py            |  14 +-
 plugins/modules/postgresql_subscription.py    |  16 +-
 plugins/modules/postgresql_table.py           |  16 +-
 plugins/modules/postgresql_tablespace.py      |   6 +-
 plugins/modules/postgresql_user.py            |  26 +-
 .../modules/postgresql_user_obj_stat_info.py  |   6 +-
 .../tasks/postgresql_copy_initial.yml         |  36 +-
 .../postgresql_db/tasks/manage_database.yml   |   2 +-
 .../tasks/postgresql_db_initial.yml           |  54 +-
 .../tasks/postgresql_db_session_role.yml      |  18 +-
 .../tasks/state_dump_restore.yml              |  28 +-
 .../postgresql_db/tasks/state_rename.yml      |  20 +-
 .../tasks/postgresql_ext_initial.yml          |   2 +-
 .../tasks/postgresql_ext_session_role.yml     |  26 +-
 .../tasks/postgresql_ext_version_opt.yml      |  46 +-
 .../tasks/postgresql_idx_initial.yml          |  12 +-
 .../tasks/postgresql_info_initial.yml         |   8 +-
 .../tasks/setup_publication.yml               |   2 +-
 .../tasks/postgresql_lang_add_owner_param.yml |  12 +-
 .../tasks/postgresql_lang_initial.yml         |  64 +-
 .../tasks/postgresql_membership_initial.yml   | 390 -----------
 .../tasks/postgresql_owner_initial.yml        |  12 +-
 .../tasks/postgresql_pg_hba_initial.yml       |  10 +-
 .../tasks/postgresql_ping_initial.yml         |  20 +-
 .../tasks/pg_authid_not_readable.yml          |  10 +-
 .../tasks/postgresql_privs_general.yml        | 234 +++----
 .../tasks/postgresql_privs_initial.yml        |  84 +--
 .../tasks/postgresql_privs_session_role.yml   |  24 +-
 .../tasks/test_target_role.yml                |  20 +-
 .../tasks/postgresql_publication_initial.yml  |  32 +-
 .../tasks/postgresql_query_initial.yml        | 608 ------------------
 .../tasks/postgresql_schema_initial.yml       |  64 +-
 .../tasks/postgresql_schema_session_role.yml  |  16 +-
 .../tasks/postgresql_sequence_initial.yml     | 110 ++--
 .../postgresql_set/tasks/options_coverage.yml |   4 +-
 .../tasks/postgresql_set_initial.yml          |  36 +-
 .../tasks/postgresql_slot_initial.yml         | 144 ++---
 .../tasks/postgresql_subscription_initial.yml |  66 +-
 .../tasks/setup_publication.yml               |   2 +-
 .../tasks/postgresql_table_initial.yml        | 212 +++---
 .../tasks/postgresql_tablespace_initial.yml   |   4 +-
 .../tasks/postgresql_user_general.yml         |  44 +-
 .../tasks/postgresql_user_initial.yml         |  30 +-
 .../tasks/test_no_password_change.yml         |   4 +-
 .../postgresql_user/tasks/test_password.yml   |  42 +-
 .../tasks/postgresql_user_obj_stat_info.yml   |  20 +-
 .../targets/setup_pkg_mgr/tasks/main.yml      |   4 +-
 .../setup_postgresql_db/tasks/main.yml        |  10 +-
 .../handlers/main.yml                         |   2 +-
 65 files changed, 968 insertions(+), 1960 deletions(-)
 delete mode 100644 tests/integration/targets/postgresql_membership/tasks/postgresql_membership_initial.yml
 delete mode 100644 tests/integration/targets/postgresql_query/tasks/postgresql_query_initial.yml

diff --git a/plugins/modules/postgresql_copy.py b/plugins/modules/postgresql_copy.py
index 147f735e..b104ecc3 100644
--- a/plugins/modules/postgresql_copy.py
+++ b/plugins/modules/postgresql_copy.py
@@ -51,7 +51,7 @@
     - Mark I(src)/I(dst) as a program. Data will be copied to/from a program.
     - See block Examples and PROGRAM arg description U(https://www.postgresql.org/docs/current/sql-copy.html).
     type: bool
-    default: no
+    default: false
   options:
     description:
     - Options of COPY command.
@@ -71,17 +71,17 @@
     type: str
   trust_input:
     description:
-    - If C(no), check whether values of parameters are potentially dangerous.
-    - It makes sense to use C(no) only when SQL injections are possible.
+    - If C(false), check whether values of parameters are potentially dangerous.
+    - It makes sense to use C(false) only when SQL injections are possible.
     type: bool
-    default: yes
+    default: true
     version_added: '0.2.0'
 notes:
 - Supports PostgreSQL version 9.4+.
 - COPY command is only allowed to database superusers.
-- If I(check_mode=yes), we just check the src/dst table availability
+- If I(check_mode=true), we just check the src/dst table availability
   and return the COPY query that actually has not been executed.
-- If i(check_mode=yes) and the source has been passed as SQL, the module
+- If i(check_mode=true) and the source has been passed as SQL, the module
   will execute it and rolled the transaction back but pay attention
   it can affect database performance (e.g., if SQL collects a lot of data).
 
@@ -137,7 +137,7 @@
   community.postgresql.postgresql_copy:
     src: my_table
     copy_to: 'gzip > /tmp/data.csv.gz'
-    program: yes
+    program: true
     options:
       format: csv
 
diff --git a/plugins/modules/postgresql_db.py b/plugins/modules/postgresql_db.py
index 02cb258e..2f46c6a3 100644
--- a/plugins/modules/postgresql_db.py
+++ b/plugins/modules/postgresql_db.py
@@ -121,11 +121,11 @@
     version_added: '0.2.0'
   trust_input:
     description:
-    - If C(no), check whether values of parameters I(owner), I(conn_limit), I(encoding),
+    - If C(false), check whether values of parameters I(owner), I(conn_limit), I(encoding),
       I(db), I(template), I(tablespace), I(session_role) are potentially dangerous.
-    - It makes sense to use C(no) only when SQL injections via the parameters are possible.
+    - It makes sense to use C(false) only when SQL injections via the parameters are possible.
     type: bool
-    default: yes
+    default: true
     version_added: '0.2.0'
 seealso:
 - name: CREATE DATABASE reference
diff --git a/plugins/modules/postgresql_ext.py b/plugins/modules/postgresql_ext.py
index 4377e013..b4c743cf 100644
--- a/plugins/modules/postgresql_ext.py
+++ b/plugins/modules/postgresql_ext.py
@@ -49,7 +49,7 @@
     - Automatically install/remove any extensions that this extension depends on
       that are not already installed/removed (supported since PostgreSQL 9.6).
     type: bool
-    default: no
+    default: false
   login_unix_socket:
     description:
       - Path to a Unix domain socket for local connections.
@@ -81,11 +81,11 @@
     type: str
   trust_input:
     description:
-    - If C(no), check whether values of parameters I(ext), I(schema),
+    - If C(false), check whether values of parameters I(ext), I(schema),
       I(version), I(session_role) are potentially dangerous.
-    - It makes sense to use C(no) only when SQL injections via the parameters are possible.
+    - It makes sense to use C(false) only when SQL injections via the parameters are possible.
     type: bool
-    default: yes
+    default: true
     version_added: '0.2.0'
 seealso:
 - name: PostgreSQL extensions
@@ -148,7 +148,7 @@
   community.postgresql.postgresql_ext:
     name: cube
     db: acme
-    cascade: yes
+    cascade: true
     state: absent
 
 - name: Create extension foo of version 1.2 or update it to that version if it's already created and a valid update path exists
diff --git a/plugins/modules/postgresql_idx.py b/plugins/modules/postgresql_idx.py
index 2fbf8a1f..72fdc762 100644
--- a/plugins/modules/postgresql_idx.py
+++ b/plugins/modules/postgresql_idx.py
@@ -75,19 +75,19 @@
   concurrent:
     description:
     - Enable or disable concurrent mode (CREATE / DROP INDEX CONCURRENTLY).
-    - Pay attention, if I(concurrent=no), the table will be locked (ACCESS EXCLUSIVE) during the building process.
+    - Pay attention, if I(concurrent=false), the table will be locked (ACCESS EXCLUSIVE) during the building process.
       For more information about the lock levels see U(https://www.postgresql.org/docs/current/explicit-locking.html).
-    - If the building process was interrupted for any reason when I(cuncurrent=yes), the index becomes invalid.
+    - If the building process was interrupted for any reason when I(cuncurrent=true), the index becomes invalid.
       In this case it should be dropped and created again.
-    - Mutually exclusive with I(cascade=yes).
+    - Mutually exclusive with I(cascade=true).
     type: bool
-    default: yes
+    default: true
   unique:
     description:
     - Enable unique index.
     - Only btree currently supports unique indexes.
     type: bool
-    default: no
+    default: false
     version_added: '0.2.0'
   tablespace:
     description:
@@ -105,17 +105,17 @@
     - Automatically drop objects that depend on the index,
       and in turn all objects that depend on those objects.
     - It used only with I(state=absent).
-    - Mutually exclusive with I(concurrent=yes).
+    - Mutually exclusive with I(concurrent=true).
     type: bool
-    default: no
+    default: false
   trust_input:
     description:
-    - If C(no), check whether values of parameters I(idxname), I(session_role),
+    - If C(false), check whether values of parameters I(idxname), I(session_role),
       I(schema), I(table), I(columns), I(tablespace), I(storage_params),
       I(cond) are potentially dangerous.
-    - It makes sense to use C(no) only when SQL injections via the parameters are possible.
+    - It makes sense to use C(false) only when SQL injections via the parameters are possible.
     type: bool
-    default: yes
+    default: true
     version_added: '0.2.0'
 
 seealso:
@@ -137,7 +137,7 @@
 notes:
 - Supports C(check_mode).
 - The index building process can affect database performance.
-- To avoid table locks on production databases, use I(concurrent=yes) (default behavior).
+- To avoid table locks on production databases, use I(concurrent=true) (default behavior).
 
 author:
 - Andrew Klychkov (@Andersson007)
@@ -182,7 +182,7 @@
     idxname: gin0_idx
     table: test
     columns: comment gin_trgm_ops
-    concurrent: no
+    concurrent: false
     idxtype: gin
 
 - name: Drop btree test_idx concurrently
@@ -196,8 +196,8 @@
     db: mydb
     idxname: test_idx
     state: absent
-    cascade: yes
-    concurrent: no
+    cascade: true
+    concurrent: false
 
 - name: Create btree index test_idx concurrently on columns id,comment where column id > 1
   community.postgresql.postgresql_idx:
@@ -213,8 +213,8 @@
     table: products
     columns: name
     name: test_unique_idx
-    unique: yes
-    concurrent: no
+    unique: true
+    concurrent: false
 '''
 
 RETURN = r'''
diff --git a/plugins/modules/postgresql_info.py b/plugins/modules/postgresql_info.py
index 332fe150..ecfd5d51 100644
--- a/plugins/modules/postgresql_info.py
+++ b/plugins/modules/postgresql_info.py
@@ -42,10 +42,10 @@
     type: str
   trust_input:
     description:
-    - If C(no), check whether a value of I(session_role) is potentially dangerous.
-    - It makes sense to use C(no) only when SQL injections via I(session_role) are possible.
+    - If C(false), check whether a value of I(session_role) is potentially dangerous.
+    - It makes sense to use C(false) only when SQL injections via I(session_role) are possible.
     type: bool
-    default: yes
+    default: true
     version_added: '0.2.0'
 seealso:
 - module: community.postgresql.postgresql_ping
@@ -72,13 +72,13 @@
 # ansible databases -m postgresql_info -a 'filter=!settings'
 
 - name: Collect PostgreSQL version and extensions
-  become: yes
+  become: true
   become_user: postgres
   community.postgresql.postgresql_info:
     filter: ver*,ext*
 
 - name: Collect all info except settings and roles
-  become: yes
+  become: true
   become_user: postgres
   community.postgresql.postgresql_info:
     filter: "!settings,!roles"
@@ -86,7 +86,7 @@
 # On FreeBSD with PostgreSQL 9.5 version and lower use pgsql user to become
 # and pass "postgres" as a database to connect to
 - name: Collect tablespaces and repl_slots info
-  become: yes
+  become: true
   become_user: pgsql
   community.postgresql.postgresql_info:
     db: postgres
@@ -95,7 +95,7 @@
     - repl_sl*
 
 - name: Collect all info except databases
-  become: yes
+  become: true
   become_user: postgres
   community.postgresql.postgresql_info:
     filter:
diff --git a/plugins/modules/postgresql_lang.py b/plugins/modules/postgresql_lang.py
index 276b9c24..1c37869f 100644
--- a/plugins/modules/postgresql_lang.py
+++ b/plugins/modules/postgresql_lang.py
@@ -18,11 +18,11 @@
   relationship with a PostgreSQL database.
 - The module can be used on the machine where executed or on a remote host.
 - When removing a language from a database, it is possible that dependencies prevent
-  the database from being removed. In that case, you can specify I(cascade=yes) to
+  the database from being removed. In that case, you can specify I(cascade=true) to
   automatically drop objects that depend on the language (such as functions in the
   language).
 - In case the language can't be deleted because it is required by the
-  database system, you can specify I(fail_on_drop=no) to ignore the error.
+  database system, you can specify I(fail_on_drop=false) to ignore the error.
 - Be careful when marking a language as trusted since this could be a potential
   security breach. Untrusted languages allow only users with the PostgreSQL superuser
   privilege to use this language to create new functions.
@@ -38,7 +38,7 @@
     description:
     - Make this language trusted for the selected db.
     type: bool
-    default: 'no'
+    default: 'false'
   db:
     description:
     - Name of database to connect to and where the language will be added, removed or changed.
@@ -51,20 +51,20 @@
     - Marks the language as trusted, even if it's marked as untrusted in pg_pltemplate.
     - Use with care!
     type: bool
-    default: 'no'
+    default: 'false'
   fail_on_drop:
     description:
-    - If C(yes), fail when removing a language. Otherwise just log and continue.
+    - If C(true), fail when removing a language. Otherwise just log and continue.
     - In some cases, it is not possible to remove a language (used by the db-system).
     - When dependencies block the removal, consider using I(cascade).
     type: bool
-    default: 'yes'
+    default: 'true'
   cascade:
     description:
     - When dropping a language, also delete object that depend on this language.
     - Only used when I(state=absent).
     type: bool
-    default: 'no'
+    default: 'false'
   session_role:
     description:
     - Switch to session_role after connecting.
@@ -104,11 +104,11 @@
     version_added: '0.2.0'
   trust_input:
     description:
-    - If C(no), check whether values of parameters I(lang), I(session_role),
+    - If C(false), check whether values of parameters I(lang), I(session_role),
       I(owner) are potentially dangerous.
-    - It makes sense to use C(no) only when SQL injections via the parameters are possible.
+    - It makes sense to use C(false) only when SQL injections via the parameters are possible.
     type: bool
-    default: yes
+    default: true
     version_added: '0.2.0'
 seealso:
 - name: PostgreSQL languages
@@ -145,8 +145,8 @@
     db: testdb
     lang: pltclu
     state: present
-    trust: yes
-    force_trust: yes
+    trust: true
+    force_trust: true
 
 - name: Remove language pltclu from database testdb
   community.postgresql.postgresql_lang:
@@ -159,14 +159,14 @@
     db: testdb
     lang: pltclu
     state: absent
-    cascade: yes
+    cascade: true
 
 - name: Remove language c from database testdb but ignore errors if something prevents the removal
   community.postgresql.postgresql_lang:
     db: testdb
     lang: pltclu
     state: absent
-    fail_on_drop: no
+    fail_on_drop: false
 
 - name: In testdb change owner of mylang to alice
   community.postgresql.postgresql_lang:
@@ -279,13 +279,13 @@ def main():
         db=dict(type="str", required=True, aliases=["login_db"]),
         lang=dict(type="str", required=True, aliases=["name"]),
         state=dict(type="str", default="present", choices=["absent", "present"]),
-        trust=dict(type="bool", default="no"),
-        force_trust=dict(type="bool", default="no"),
-        cascade=dict(type="bool", default="no"),
-        fail_on_drop=dict(type="bool", default="yes"),
+        trust=dict(type="bool", default="false"),
+        force_trust=dict(type="bool", default="false"),
+        cascade=dict(type="bool", default="false"),
+        fail_on_drop=dict(type="bool", default="true"),
         session_role=dict(type="str"),
         owner=dict(type="str"),
-        trust_input=dict(type="bool", default="yes")
+        trust_input=dict(type="bool", default="true")
     )
 
     module = AnsibleModule(
@@ -340,7 +340,7 @@ def main():
                 changed = lang_drop(cursor, lang, cascade)
                 if fail_on_drop and not changed:
                     msg = ("unable to drop language, use cascade "
-                           "to delete dependencies or fail_on_drop=no to ignore")
+                           "to delete dependencies or fail_on_drop=false to ignore")
                     module.fail_json(msg=msg)
                 kw['lang_dropped'] = changed
 
diff --git a/plugins/modules/postgresql_membership.py b/plugins/modules/postgresql_membership.py
index 5f8cb346..3ed0e89e 100644
--- a/plugins/modules/postgresql_membership.py
+++ b/plugins/modules/postgresql_membership.py
@@ -23,7 +23,7 @@
   groups:
     description:
     - The list of groups (roles) that need to be granted to or revoked from I(target_roles).
-    required: yes
+    required: true
     type: list
     elements: str
     aliases:
@@ -33,7 +33,7 @@
   target_roles:
     description:
     - The list of target roles (groups will be granted to them).
-    required: yes
+    required: true
     type: list
     elements: str
     aliases:
@@ -42,8 +42,8 @@
     - user
   fail_on_role:
     description:
-      - If C(yes), fail when group or target_role doesn't exist. If C(no), just warn and continue.
-    default: yes
+      - If C(true), fail when group or target_role doesn't exist. If C(false), just warn and continue.
+    default: true
     type: bool
   state:
     description:
@@ -68,11 +68,11 @@
     type: str
   trust_input:
     description:
-    - If C(no), check whether values of parameters I(groups),
+    - If C(false), check whether values of parameters I(groups),
       I(target_roles), I(session_role) are potentially dangerous.
-    - It makes sense to use C(no) only when SQL injections via the parameters are possible.
+    - It makes sense to use C(false) only when SQL injections via the parameters are possible.
     type: bool
-    default: yes
+    default: true
     version_added: '0.2.0'
 seealso:
 - module: community.postgresql.postgresql_user
@@ -109,7 +109,7 @@
     - read_only
     - exec_func
     target_role: bob
-    fail_on_role: no
+    fail_on_role: false
     state: absent
 '''
 
diff --git a/plugins/modules/postgresql_owner.py b/plugins/modules/postgresql_owner.py
index 45c817bf..f802cb0d 100644
--- a/plugins/modules/postgresql_owner.py
+++ b/plugins/modules/postgresql_owner.py
@@ -20,7 +20,7 @@
     description:
     - Role (user/group) to set as an I(obj_name) owner.
     type: str
-    required: yes
+    required: true
   obj_name:
     description:
     - Name of a database object to change ownership.
@@ -48,10 +48,10 @@
     elements: str
   fail_on_role:
     description:
-    - If C(yes), fail when I(reassign_owned_by) role does not exist.
+    - If C(true), fail when I(reassign_owned_by) role does not exist.
       Otherwise just warn and continue.
     - Mutually exclusive with I(obj_name) and I(obj_type).
-    default: yes
+    default: true
     type: bool
   db:
     description:
@@ -68,11 +68,11 @@
     type: str
   trust_input:
     description:
-    - If C(no), check whether values of parameters I(new_owner), I(obj_name),
+    - If C(false), check whether values of parameters I(new_owner), I(obj_name),
       I(reassign_owned_by), I(session_role) are potentially dangerous.
-    - It makes sense to use C(no) only when SQL injections via the parameters are possible.
+    - It makes sense to use C(false) only when SQL injections via the parameters are possible.
     type: bool
-    default: yes
+    default: true
     version_added: '0.2.0'
 seealso:
 - module: community.postgresql.postgresql_user
diff --git a/plugins/modules/postgresql_pg_hba.py b/plugins/modules/postgresql_pg_hba.py
index 06caba70..86bc0aac 100644
--- a/plugins/modules/postgresql_pg_hba.py
+++ b/plugins/modules/postgresql_pg_hba.py
@@ -563,7 +563,7 @@ def source(self):
                 ipaddress.ip_address(u'{0}'.format(self['src']))
             except ValueError:
                 raise PgHbaValueError('Mask was specified, but source "{0}" '
-                                      'is no valid ip'.format(self['src']))
+                                      'is not valid ip'.format(self['src']))
             # ipaddress module cannot work with ipv6 netmask, so lets convert it to prefixlen
             # furthermore ipv4 with bad netmask throws 'Rule {} doesn't seem to be an ip, but has a
             # mask error that doesn't seem to describe what is going on.
@@ -580,7 +580,7 @@ def source(self):
             try:
                 return ipaddress.ip_network(u'{0}'.format(sourcenw), strict=False)
             except ValueError:
-                raise PgHbaValueError('{0} is no valid address range'.format(sourcenw))
+                raise PgHbaValueError('{0} is not valid address range'.format(sourcenw))
 
         try:
             return ipaddress.ip_network(u'{0}'.format(self['src']), strict=False)
diff --git a/plugins/modules/postgresql_ping.py b/plugins/modules/postgresql_ping.py
index a681bba8..9a475f63 100644
--- a/plugins/modules/postgresql_ping.py
+++ b/plugins/modules/postgresql_ping.py
@@ -30,10 +30,10 @@
     version_added: '0.2.0'
   trust_input:
     description:
-    - If C(no), check whether a value of I(session_role) is potentially dangerous.
-    - It makes sense to use C(no) only when SQL injections via I(session_role) are possible.
+    - If C(false), check whether a value of I(session_role) is potentially dangerous.
+    - It makes sense to use C(false) only when SQL injections via I(session_role) are possible.
     type: bool
-    default: yes
+    default: true
     version_added: '0.2.0'
 seealso:
 - module: community.postgresql.postgresql_info
@@ -69,7 +69,7 @@
 # You can use the registered result with another task
 - name: This task should be executed only if the server is available
   # ...
-  when: result.is_available == yes
+  when: result.is_available == true
 '''
 
 RETURN = r'''
diff --git a/plugins/modules/postgresql_privs.py b/plugins/modules/postgresql_privs.py
index 72420d25..9760f423 100644
--- a/plugins/modules/postgresql_privs.py
+++ b/plugins/modules/postgresql_privs.py
@@ -21,7 +21,7 @@
   database:
     description:
     - Name of database to connect to.
-    required: yes
+    required: true
     type: str
     aliases:
     - db
@@ -79,14 +79,14 @@
     - The special value C(PUBLIC) can be provided instead to set permissions
       for the implicitly defined PUBLIC group.
     type: str
-    required: yes
+    required: true
     aliases:
     - role
   fail_on_role:
     description:
-    - If C(yes), fail when target role (for whom privs need to be granted) does not exist.
+    - If C(true), fail when target role (for whom privs need to be granted) does not exist.
       Otherwise just warn and continue.
-    default: yes
+    default: true
     type: bool
   session_role:
     description:
@@ -103,7 +103,7 @@
   grant_option:
     description:
     - Whether C(role) may grant/revoke the specified privileges/group memberships to others.
-    - Set to C(no) to revoke GRANT OPTION, leave unspecified to make no changes.
+    - Set to C(false) to revoke GRANT OPTION, leave unspecified to make no changes.
     - I(grant_option) only has an effect if I(state) is C(present).
     type: bool
     aliases:
@@ -157,20 +157,20 @@
     - ssl_rootcert
   trust_input:
     description:
-    - If C(no), check whether values of parameters I(roles), I(target_roles), I(session_role),
+    - If C(false), check whether values of parameters I(roles), I(target_roles), I(session_role),
       I(schema) are potentially dangerous.
-    - It makes sense to use C(no) only when SQL injections via the parameters are possible.
+    - It makes sense to use C(false) only when SQL injections via the parameters are possible.
     type: bool
-    default: yes
+    default: true
     version_added: '0.2.0'
   usage_on_types:
     description:
     - When adding default privileges, the module always implicitly adds ``USAGE ON TYPES``.
-    - To avoid this behavior, set I(usage_on_types) to C(no).
+    - To avoid this behavior, set I(usage_on_types) to C(false).
     - Added to save backwards compatibility.
     - Used only when adding default privileges, ignored otherwise.
     type: bool
-    default: yes
+    default: true
     version_added: '1.2.0'
 
 notes:
@@ -178,7 +178,7 @@
 - Parameters that accept comma separated lists (I(privs), I(objs), I(roles))
   have singular alias names (I(priv), I(obj), I(role)).
 - To revoke only C(GRANT OPTION) for a specific object, set I(state) to
-  C(present) and I(grant_option) to C(no) (see examples).
+  C(present) and I(grant_option) to C(false) (see examples).
 - Note that when revoking privileges from a role R, this role  may still have
   access via privileges granted to any role R is a member of including C(PUBLIC).
 - Note that when you use C(PUBLIC) role, the module always reports that the state has been changed.
@@ -223,7 +223,7 @@
     objs: books,authors
     schema: public
     roles: librarian,reader
-    grant_option: yes
+    grant_option: true
 
 - name: Same as above leveraging default values
   community.postgresql.postgresql_privs:
@@ -231,7 +231,7 @@
     privs: SELECT,INSERT,UPDATE
     objs: books,authors
     roles: librarian,reader
-    grant_option: yes
+    grant_option: true
 
 # REVOKE GRANT OPTION FOR INSERT ON TABLE books FROM reader
 # Note that role "reader" will be *granted* INSERT privilege itself if this
@@ -243,7 +243,7 @@
     priv: INSERT
     obj: books
     role: reader
-    grant_option: no
+    grant_option: false
 
 # "public" is the default schema. This also works for PostgreSQL 8.x.
 - name: REVOKE INSERT, UPDATE ON ALL TABLES IN SCHEMA public FROM reader
@@ -280,7 +280,7 @@
     type: group
     objs: librarian,reader
     roles: alice,bob
-    admin_option: yes
+    admin_option: true
 
 # Note that here "db: postgres" specifies the database to connect to, not the
 # database to grant privileges on (which is specified via the "objs" param)
@@ -312,7 +312,7 @@
     privs: ALL
     type: default_privs
     role: librarian
-    grant_option: yes
+    grant_option: true
 
 # Available since version 2.7
 # Objs must be set, ALL_DEFAULT to TABLES/SEQUENCES/TYPES/FUNCTIONS
diff --git a/plugins/modules/postgresql_publication.py b/plugins/modules/postgresql_publication.py
index 26f797a1..0dee8751 100644
--- a/plugins/modules/postgresql_publication.py
+++ b/plugins/modules/postgresql_publication.py
@@ -68,11 +68,11 @@
     version_added: '0.2.0'
   trust_input:
     description:
-    - If C(no), check whether values of parameters I(name), I(tables), I(owner),
+    - If C(false), check whether values of parameters I(name), I(tables), I(owner),
       I(session_role), I(params) are potentially dangerous.
-    - It makes sense to use C(no) only when SQL injections via the parameters are possible.
+    - It makes sense to use C(false) only when SQL injections via the parameters are possible.
     type: bool
-    default: yes
+    default: true
     version_added: '0.2.0'
 notes:
 - PostgreSQL version must be 10 or greater.
diff --git a/plugins/modules/postgresql_query.py b/plugins/modules/postgresql_query.py
index 1604cc98..0ba19146 100644
--- a/plugins/modules/postgresql_query.py
+++ b/plugins/modules/postgresql_query.py
@@ -41,7 +41,7 @@
     - Path to a SQL script on the target machine.
     - If the script contains several queries, they must be semicolon-separated.
     - To run scripts containing objects with semicolons
-      (for example, function and procedure definitions), use I(as_single_query=yes).
+      (for example, function and procedure definitions), use I(as_single_query=true).
     - To upload dumps or to execute other complex scripts, the preferable way
       is to use the M(community.postgresql.postgresql_db) module with I(state=restore).
     - Mutually exclusive with I(query).
@@ -65,7 +65,7 @@
       (e.g., VACUUM).
     - Mutually exclusive with I(check_mode).
     type: bool
-    default: no
+    default: false
   encoding:
     description:
     - Set the client encoding for the current session (e.g. C(UTF-8)).
@@ -74,10 +74,10 @@
     version_added: '0.2.0'
   trust_input:
     description:
-    - If C(no), check whether a value of I(session_role) is potentially dangerous.
-    - It makes sense to use C(no) only when SQL injections via I(session_role) are possible.
+    - If C(false), check whether a value of I(session_role) is potentially dangerous.
+    - It makes sense to use C(false) only when SQL injections via I(session_role) are possible.
     type: bool
-    default: yes
+    default: true
     version_added: '0.2.0'
   search_path:
     description:
@@ -87,17 +87,23 @@
     version_added: '1.0.0'
   as_single_query:
     description:
-    - If C(yes), when reading from the I(path_to_script) file,
-      executes its whole content in a single query.
-    - When C(yes), the C(query_all_results) return value
+    - This option has been B(deprecated) and will be removed in community.postgresql 3.0.0,
+      please use the M(community.postgresql.postgresql_script) module to execute
+      statements from scripts.
+    - If C(true), when reading from the I(path_to_script) file,
+      executes its whole content in a single query (not splitting it up
+      into separate queries by semicolons). It brings the following changes in
+      the module's behavior.
+    - When C(true), the C(query_all_results) return value
       contains only the result of the last statement.
     - Whether the state is reported as changed or not
       is determined by the last statement of the file.
     - Used only when I(path_to_script) is specified, otherwise ignored.
-    - If set to C(no), the script can contain only semicolon-separated queries.
+    - If set to C(false), the script can contain only semicolon-separated queries.
       (see the I(path_to_script) option documentation).
     - The default value is C(no).
     type: bool
+    default: true
     version_added: '1.1.0'
 seealso:
 - module: community.postgresql.postgresql_db
@@ -144,7 +150,7 @@
     query: INSERT INTO test_table (id, story) VALUES (2, 'my_long_story')
 
 # If your script contains semicolons as parts of separate objects
-# like functions, procedures, and so on, use "as_single_query: yes"
+# like functions, procedures, and so on, use "as_single_query: true"
 - name: Run queries from SQL script using UTF-8 client encoding for session
   community.postgresql.postgresql_query:
     db: test_db
@@ -157,7 +163,7 @@
   community.postgresql.postgresql_query:
     db: test_db
     query: VACUUM
-    autocommit: yes
+    autocommit: true
 
 - name: >
     Insert data to the column of array type using positional_args.
diff --git a/plugins/modules/postgresql_schema.py b/plugins/modules/postgresql_schema.py
index 74732031..c8d408c4 100644
--- a/plugins/modules/postgresql_schema.py
+++ b/plugins/modules/postgresql_schema.py
@@ -67,10 +67,10 @@
     aliases: [ ssl_rootcert ]
   trust_input:
     description:
-    - If C(no), check whether values of parameters I(schema), I(owner), I(session_role) are potentially dangerous.
-    - It makes sense to use C(no) only when SQL injections via the parameters are possible.
+    - If C(false), check whether values of parameters I(schema), I(owner), I(session_role) are potentially dangerous.
+    - It makes sense to use C(false) only when SQL injections via the parameters are possible.
     type: bool
-    default: yes
+    default: true
     version_added: '0.2.0'
 seealso:
 - name: PostgreSQL schemas
@@ -109,7 +109,7 @@
   community.postgresql.postgresql_schema:
     name: acme
     state: absent
-    cascade_drop: yes
+    cascade_drop: true
 '''
 
 RETURN = r'''
diff --git a/plugins/modules/postgresql_sequence.py b/plugins/modules/postgresql_sequence.py
index e3a9c78d..68ef1c9b 100644
--- a/plugins/modules/postgresql_sequence.py
+++ b/plugins/modules/postgresql_sequence.py
@@ -85,7 +85,7 @@
       has reached its maximum value will return an error. False (NO CYCLE) is
       the default.
     type: bool
-    default: no
+    default: false
   cascade:
     description:
     - Automatically drop objects that depend on the sequence, and in turn all
@@ -93,7 +93,7 @@
     - Ignored if I(state=present).
     - Only used with I(state=absent).
     type: bool
-    default: no
+    default: false
   rename_to:
     description:
     - The new name for the I(sequence).
@@ -131,11 +131,11 @@
     - login_db
   trust_input:
     description:
-    - If C(no), check whether values of parameters I(sequence), I(schema), I(rename_to),
+    - If C(false), check whether values of parameters I(sequence), I(schema), I(rename_to),
       I(owner), I(newschema), I(session_role) are potentially dangerous.
-    - It makes sense to use C(no) only when SQL injections via the parameters are possible.
+    - It makes sense to use C(false) only when SQL injections via the parameters are possible.
     type: bool
-    default: yes
+    default: true
     version_added: '0.2.0'
 notes:
 - Supports C(check_mode).
@@ -186,7 +186,7 @@
 - name: Create an ascending sequence called foobar, which cycle between 1 to 10
   community.postgresql.postgresql_sequence:
     name: foobar
-    cycle: yes
+    cycle: true
     min: 1
     max: 10
 
@@ -219,7 +219,7 @@
 - name: Drop a sequence called foobar with cascade
   community.postgresql.postgresql_sequence:
     name: foobar
-    cascade: yes
+    cascade: true
     state: absent
 '''
 
@@ -275,7 +275,7 @@
     description: Shows if the sequence cycle or not.
     returned: always
     type: str
-    sample: 'NO'
+    sample: 'false'
 owner:
     description: Shows the current owner of the sequence
                  after the successful run of the task.
diff --git a/plugins/modules/postgresql_set.py b/plugins/modules/postgresql_set.py
index 8a589609..fb0fa825 100644
--- a/plugins/modules/postgresql_set.py
+++ b/plugins/modules/postgresql_set.py
@@ -18,7 +18,7 @@
    - It can be more convenient and safe than the traditional method of manually editing the postgresql.conf file.
    - ALTER SYSTEM writes the given parameter setting to the $PGDATA/postgresql.auto.conf file,
      which is read in addition to postgresql.conf.
-   - The module allows to reset parameter to boot_val (cluster initial value) by I(reset=yes) or remove parameter
+   - The module allows to reset parameter to boot_val (cluster initial value) by I(reset=true) or remove parameter
      string from postgresql.auto.conf and reload I(value=default) (for settings with postmaster context restart is required).
    - After change you can see in the ansible output the previous and
      the new parameter value and other information using returned values and M(ansible.builtin.debug) module.
@@ -55,10 +55,10 @@
     - login_db
   trust_input:
     description:
-    - If C(no), check whether values of parameters are potentially dangerous.
-    - It makes sense to use C(no) only when SQL injections are possible.
+    - If C(false), check whether values of parameters are potentially dangerous.
+    - It makes sense to use C(false) only when SQL injections are possible.
     type: bool
-    default: yes
+    default: true
     version_added: '0.2.0'
 notes:
 - Supported version of PostgreSQL is 9.4 and later.
@@ -93,7 +93,7 @@
 - name: Restore wal_keep_segments parameter to initial state
   community.postgresql.postgresql_set:
     name: wal_keep_segments
-    reset: yes
+    reset: true
 
 # Set work_mem parameter to 32MB and show what's been changed and restart is required or not
 # (output example: "msg": "work_mem 4MB >> 64MB restart_req: False")
diff --git a/plugins/modules/postgresql_slot.py b/plugins/modules/postgresql_slot.py
index b8b37970..5bd3f9ff 100644
--- a/plugins/modules/postgresql_slot.py
+++ b/plugins/modules/postgresql_slot.py
@@ -19,7 +19,7 @@
     description:
     - Name of the replication slot to add or remove.
     type: str
-    required: yes
+    required: true
     aliases:
     - slot_name
   slot_type:
@@ -38,14 +38,14 @@
     choices: [ absent, present ]
   immediately_reserve:
     description:
-    - Optional parameter that when C(yes) specifies that the LSN for this replication slot be reserved
-      immediately, otherwise the default, C(no), specifies that the LSN is reserved on the first connection
+    - Optional parameter that when C(true) specifies that the LSN for this replication slot be reserved
+      immediately, otherwise the default, C(false), specifies that the LSN is reserved on the first connection
       from a streaming replication client.
     - Is available from PostgreSQL version 9.6.
     - Uses only with I(slot_type=physical).
     - Mutually exclusive with I(slot_type=logical).
     type: bool
-    default: no
+    default: false
   output_plugin:
     description:
     - All logical slots must indicate which output plugin decoder they're using.
@@ -68,10 +68,10 @@
     type: str
   trust_input:
     description:
-    - If C(no), check the value of I(session_role) is potentially dangerous.
-    - It makes sense to use C(no) only when SQL injections via I(session_role) are possible.
+    - If C(false), check the value of I(session_role) is potentially dangerous.
+    - It makes sense to use C(false) only when SQL injections via I(session_role) are possible.
     type: bool
-    default: yes
+    default: true
     version_added: '0.2.0'
 
 notes:
diff --git a/plugins/modules/postgresql_subscription.py b/plugins/modules/postgresql_subscription.py
index 22b3ca15..29d0bfda 100644
--- a/plugins/modules/postgresql_subscription.py
+++ b/plugins/modules/postgresql_subscription.py
@@ -21,14 +21,14 @@
     description:
     - Name of the subscription to add, update, or remove.
     type: str
-    required: yes
+    required: true
   db:
     description:
     - Name of the database to connect to and where
       the subscription state will be changed.
     aliases: [ login_db ]
     type: str
-    required: yes
+    required: true
   state:
     description:
     - The subscription state.
@@ -86,11 +86,11 @@
     version_added: '0.2.0'
   trust_input:
     description:
-    - If C(no), check whether values of parameters I(name), I(publications), I(owner),
+    - If C(false), check whether values of parameters I(name), I(publications), I(owner),
       I(session_role), I(connparams), I(subsparams) are potentially dangerous.
-    - It makes sense to use C(yes) only when SQL injections via the parameters are possible.
+    - It makes sense to use C(true) only when SQL injections via the parameters are possible.
     type: bool
-    default: yes
+    default: true
     version_added: '0.2.0'
 
 notes:
@@ -153,12 +153,12 @@
     name: acme
     state: refresh
 
-- name: Drop acme subscription from mydb with dependencies (cascade=yes)
+- name: Drop acme subscription from mydb with dependencies (cascade=true)
   community.postgresql.postgresql_subscription:
     db: mydb
     name: acme
     state: absent
-    cascade: yes
+    cascade: true
 
 - name: Assuming that acme subscription exists and enabled, disable the subscription
   community.postgresql.postgresql_subscription:
@@ -166,7 +166,7 @@
     name: acme
     state: present
     subsparams:
-      enabled: no
+      enabled: false
 '''
 
 RETURN = r'''
diff --git a/plugins/modules/postgresql_table.py b/plugins/modules/postgresql_table.py
index b3a48782..5c3a6a1b 100644
--- a/plugins/modules/postgresql_table.py
+++ b/plugins/modules/postgresql_table.py
@@ -40,7 +40,7 @@
     description:
     - Create an unlogged table.
     type: bool
-    default: no
+    default: false
   like:
     description:
     - Create a table like another table (with similar DDL).
@@ -66,7 +66,7 @@
     - Truncate a table. Mutually exclusive with I(tablespace), I(owner), I(unlogged),
       I(like), I(including), I(columns), I(rename), and I(storage_params).
     type: bool
-    default: no
+    default: false
   storage_params:
     description:
     - Storage parameters like fillfactor, autovacuum_vacuum_treshold, etc.
@@ -91,13 +91,13 @@
     - Automatically drop objects that depend on the table (such as views).
       Used with I(state=absent) only.
     type: bool
-    default: no
+    default: false
   trust_input:
     description:
-    - If C(no), check whether values of parameters are potentially dangerous.
-    - It makes sense to use C(no) only when SQL injections are possible.
+    - If C(false), check whether values of parameters are potentially dangerous.
+    - It makes sense to use C(false) only when SQL injections are possible.
     type: bool
-    default: yes
+    default: true
     version_added: '0.2.0'
 notes:
 - Supports C(check_mode).
@@ -190,7 +190,7 @@
 - name: Truncate table foo
   community.postgresql.postgresql_table:
     name: foo
-    truncate: yes
+    truncate: true
 
 - name: Drop table foo from schema acme
   community.postgresql.postgresql_table:
@@ -201,7 +201,7 @@
   community.postgresql.postgresql_table:
     name: bar
     state: absent
-    cascade: yes
+    cascade: true
 '''
 
 RETURN = r'''
diff --git a/plugins/modules/postgresql_tablespace.py b/plugins/modules/postgresql_tablespace.py
index 94f50e23..dacf5663 100644
--- a/plugins/modules/postgresql_tablespace.py
+++ b/plugins/modules/postgresql_tablespace.py
@@ -71,11 +71,11 @@
     - login_db
   trust_input:
     description:
-    - If C(no), check whether values of parameters I(tablespace), I(location), I(owner),
+    - If C(false), check whether values of parameters I(tablespace), I(location), I(owner),
       I(rename_to), I(session_role), I(settings_list) are potentially dangerous.
-    - It makes sense to use C(no) only when SQL injections via the parameters are possible.
+    - It makes sense to use C(false) only when SQL injections via the parameters are possible.
     type: bool
-    default: yes
+    default: true
     version_added: '0.2.0'
 
 notes:
diff --git a/plugins/modules/postgresql_user.py b/plugins/modules/postgresql_user.py
index d10d1c05..52cc8b38 100644
--- a/plugins/modules/postgresql_user.py
+++ b/plugins/modules/postgresql_user.py
@@ -18,7 +18,7 @@
 - A user is a role with login privilege.
 - You can also use it to grant or revoke user's privileges in a particular database.
 - You cannot remove a user while it still has any privileges granted to it in any database.
-- Set I(fail_on_user) to C(no) to make the module ignore failures when trying to remove a user.
+- Set I(fail_on_user) to C(false) to make the module ignore failures when trying to remove a user.
   In this case, the module reports if changes happened as usual and separately reports
   whether the user has been removed or not.
 - B(WARNING) The I(priv) option has been B(deprecated) and will be removed in community.postgresql 3.0.0. Please use the
@@ -55,8 +55,8 @@
     - login_db
   fail_on_user:
     description:
-    - If C(yes), fails when the user (role) cannot be removed. Otherwise just log and continue.
-    default: yes
+    - If C(true), fails when the user (role) cannot be removed. Otherwise just log and continue.
+    default: true
     type: bool
     aliases:
     - fail_on_role
@@ -100,12 +100,12 @@
     description:
     - Whether the password is stored hashed in the database.
     - You can specify an unhashed password, and PostgreSQL ensures
-      the stored password is hashed when I(encrypted=yes) is set.
+      the stored password is hashed when I(encrypted=true) is set.
       If you specify a hashed password, the module uses it as-is,
       regardless of the setting of I(encrypted).
     - "Note: Postgresql 10 and newer does not support unhashed passwords."
-    - Previous to Ansible 2.6, this was C(no) by default.
-    default: yes
+    - Previous to Ansible 2.6, this was C(false) by default.
+    default: true
     type: bool
   expires:
     description:
@@ -115,11 +115,11 @@
     type: str
   no_password_changes:
     description:
-    - If C(yes), does not inspect the database for password changes.
+    - If C(true), does not inspect the database for password changes.
       If the user already exists, skips all password related checks.
       Useful when C(pg_authid) is not accessible (such as in AWS RDS).
       Otherwise, makes password changes as necessary.
-    default: no
+    default: false
     type: bool
   conn_limit:
     description:
@@ -154,11 +154,11 @@
     version_added: '0.2.0'
   trust_input:
     description:
-    - If C(no), checks whether values of options I(name), I(password), I(privs), I(expires),
+    - If C(false), checks whether values of options I(name), I(password), I(privs), I(expires),
       I(role_attr_flags), I(groups), I(comment), I(session_role) are potentially dangerous.
-    - It makes sense to use C(no) only when SQL injections through the options are possible.
+    - It makes sense to use C(false) only when SQL injections through the options are possible.
     type: bool
-    default: yes
+    default: true
     version_added: '0.2.0'
 notes:
 - The module creates a user (role) with login privilege by default.
@@ -172,7 +172,7 @@
 - On some systems (such as AWS RDS), C(pg_authid) is not accessible, thus, the module cannot compare
   the current and desired C(password). In this case, the module assumes that the passwords are
   different and changes it reporting that the state has been changed.
-  To skip all password related checks for existing users, use I(no_password_changes=yes).
+  To skip all password related checks for existing users, use I(no_password_changes=true).
 - On some systems (such as AWS RDS), C(SUPERUSER) is unavailable. This means the C(SUPERUSER) and
   C(NOSUPERUSER) I(role_attr_flags) should not be specified to preserve idempotency and avoid
   InsufficientPrivilege errors.
@@ -227,7 +227,7 @@
     name: test
     priv: "ALL/products:ALL"
     state: absent
-    fail_on_user: no
+    fail_on_user: false
 
 # This example uses the 'priv' argument which is deprecated.
 # You should use the 'postgresql_privs' module instead.
diff --git a/plugins/modules/postgresql_user_obj_stat_info.py b/plugins/modules/postgresql_user_obj_stat_info.py
index f09b4075..6bc09a84 100644
--- a/plugins/modules/postgresql_user_obj_stat_info.py
+++ b/plugins/modules/postgresql_user_obj_stat_info.py
@@ -42,10 +42,10 @@
     type: str
   trust_input:
     description:
-    - If C(no), check the value of I(session_role) is potentially dangerous.
-    - It makes sense to use C(no) only when SQL injections via I(session_role) are possible.
+    - If C(false), check the value of I(session_role) is potentially dangerous.
+    - It makes sense to use C(false) only when SQL injections via I(session_role) are possible.
     type: bool
-    default: yes
+    default: true
     version_added: '0.2.0'
 
 notes:
diff --git a/tests/integration/targets/postgresql_copy/tasks/postgresql_copy_initial.yml b/tests/integration/targets/postgresql_copy/tasks/postgresql_copy_initial.yml
index cd9981e9..5c51c108 100644
--- a/tests/integration/targets/postgresql_copy/tasks/postgresql_copy_initial.yml
+++ b/tests/integration/targets/postgresql_copy/tasks/postgresql_copy_initial.yml
@@ -8,7 +8,7 @@
     data_file_csv: /tmp/data.csv
     task_parameters: &task_parameters
       become_user: '{{ pg_user }}'
-      become: yes
+      become: true
       register: result
     pg_parameters: &pg_parameters
       login_user: '{{ pg_user }}'
@@ -46,13 +46,13 @@
 
   # check_mode - if it's OK, must always return changed=True:
   - name: postgresql_copy - check_mode, copy test table content to data_file_txt
-    check_mode: yes
+    check_mode: true
     <<: *task_parameters
     postgresql_copy:
       <<: *pg_parameters
       copy_to: '{{ data_file_txt }}'
       src: '{{ test_table }}'
-      trust_input: no
+      trust_input: false
 
   - assert:
       that:
@@ -61,7 +61,7 @@
   # check that nothing changed after the previous step:
   - name: postgresql_copy - check that data_file_txt doesn't exist
     <<: *task_parameters
-    ignore_errors: yes
+    ignore_errors: true
     shell: head -n 1 '{{ data_file_txt }}'
 
   - assert:
@@ -71,13 +71,13 @@
 
   # check_mode - if it's OK, must always return changed=True:
   - name: postgresql_copy - check_mode, copy test table content from data_file_txt
-    check_mode: yes
+    check_mode: true
     <<: *task_parameters
     postgresql_copy:
       <<: *pg_parameters
       copy_from: '{{ data_file_txt }}'
       dst: '{{ test_table }}'
-      trust_input: no
+      trust_input: false
 
   - assert:
       that:
@@ -96,14 +96,14 @@
 
   # check_mode - test must fail because test table doesn't exist:
   - name: postgresql_copy - check_mode, copy non existent table to data_file_txt
-    check_mode: yes
-    ignore_errors: yes
+    check_mode: true
+    ignore_errors: true
     <<: *task_parameters
     postgresql_copy:
       <<: *pg_parameters
       copy_to: '{{ data_file_txt }}'
       src: non_existent_table
-      trust_input: no
+      trust_input: false
 
   - assert:
       that:
@@ -117,8 +117,8 @@
       copy_to: '{{ data_file_txt }}'
       src: '{{ test_table }}'
       session_role: 'curious.anonymous"; SELECT * FROM information_schema.tables; --'
-      trust_input: no
-    ignore_errors: yes
+      trust_input: false
+    ignore_errors: true
 
   - assert:
       that:
@@ -131,7 +131,7 @@
       <<: *pg_parameters
       copy_to: '{{ data_file_txt }}'
       src: '{{ test_table }}'
-      trust_input: no
+      trust_input: false
 
   - assert:
       that:
@@ -161,7 +161,7 @@
       - name
       options:
         format: csv
-      trust_input: no
+      trust_input: false
 
   - assert:
       that:
@@ -190,7 +190,7 @@
       - name
       options:
         format: csv
-      trust_input: no
+      trust_input: false
 
   - assert:
       that:
@@ -215,11 +215,11 @@
       <<: *pg_parameters
       src: '{{ test_table }}'
       copy_to: '/bin/true'
-      program: yes
+      program: true
       columns: id, name
       options:
         delimiter: '|'
-      trust_input: no
+      trust_input: false
     when: ansible_distribution != 'FreeBSD'
 
   - assert:
@@ -236,11 +236,11 @@
       <<: *pg_parameters
       dst: '{{ test_table }}'
       copy_from: 'echo 1,first'
-      program: yes
+      program: true
       columns: id, name
       options:
         delimiter: ','
-      trust_input: no
+      trust_input: false
 
   - assert:
       that:
diff --git a/tests/integration/targets/postgresql_db/tasks/manage_database.yml b/tests/integration/targets/postgresql_db/tasks/manage_database.yml
index a835dde3..42d0f4ee 100644
--- a/tests/integration/targets/postgresql_db/tasks/manage_database.yml
+++ b/tests/integration/targets/postgresql_db/tasks/manage_database.yml
@@ -6,4 +6,4 @@
   postgresql_db:
     name: mydb
     state: absent
-    force: yes
+    force: true
diff --git a/tests/integration/targets/postgresql_db/tasks/postgresql_db_initial.yml b/tests/integration/targets/postgresql_db/tasks/postgresql_db_initial.yml
index 851c19f4..472524a2 100644
--- a/tests/integration/targets/postgresql_db/tasks/postgresql_db_initial.yml
+++ b/tests/integration/targets/postgresql_db/tasks/postgresql_db_initial.yml
@@ -3,7 +3,7 @@
 #
 - name: Create DB
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_db:
     state: present
     name: "{{ db_name }}"
@@ -19,7 +19,7 @@
 
 - name: Check that database created
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   shell: echo "select datname from pg_database where datname = '{{ db_name }}';" | psql -d postgres
   register: result
 
@@ -29,7 +29,7 @@
 
 - name: Run create on an already created db
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_db:
     state: present
     name: "{{ db_name }}"
@@ -43,7 +43,7 @@
 
 - name: Destroy DB
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_db:
     state: absent
     name: "{{ db_name }}"
@@ -58,7 +58,7 @@
 
 - name: Check that database was destroyed
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   shell: echo "select datname from pg_database where datname = '{{ db_name }}';" | psql -d postgres
   register: result
 
@@ -68,7 +68,7 @@
 
 - name: Destroy DB
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_db:
     state: absent
     name: "{{ db_name }}"
@@ -107,7 +107,7 @@
 #
 - name: Create a DB with conn_limit, encoding, collate, ctype, and template options
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_db:
     name: '{{ db_name }}'
     state: 'present'
@@ -126,7 +126,7 @@
 
 - name: Check that the DB has all of our options
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   shell: echo "select datname, datconnlimit, pg_encoding_to_char(encoding), datcollate, datctype from pg_database where datname = '{{ db_name }}';" | psql -d postgres
   register: result
 
@@ -142,7 +142,7 @@
 
 - name: Check that running db creation with options a second time does nothing
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_db:
     name: '{{ db_name }}'
     state: 'present'
@@ -161,7 +161,7 @@
 
 - name: Check that attempting to change encoding returns an error
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_db:
     name: '{{ db_name }}'
     state: 'present'
@@ -171,7 +171,7 @@
     template: 'template0'
     login_user: "{{ pg_user }}"
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 - assert:
     that:
@@ -179,7 +179,7 @@
 
 - name: Check that changing the conn_limit actually works
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_db:
     name: '{{ db_name }}'
     state: 'present'
@@ -198,7 +198,7 @@
 
 - name: Check that conn_limit has actually been set / updated to 200
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   shell: echo "SELECT datconnlimit AS conn_limit FROM pg_database WHERE datname = '{{ db_name }}';" | psql -d postgres
   register: result
 
@@ -209,7 +209,7 @@
 
 - name: Cleanup test DB
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_db:
     name: '{{ db_name }}'
     state: 'absent'
@@ -217,7 +217,7 @@
 
 - shell: echo "select datname, pg_encoding_to_char(encoding), datcollate, datctype from pg_database where datname = '{{ db_name }}';" | psql -d postgres
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   register: result
 
 - assert:
@@ -229,10 +229,10 @@
 #
 - name: Create an unprivileged user to own a DB
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_user:
     name: "{{ item }}"
-    encrypted: 'yes'
+    encrypted: 'true'
     password: "md55c8ccfd9d6711fc69a7eae647fc54f51"
     login_user: "{{ pg_user }}"
     db: postgres
@@ -242,7 +242,7 @@
 
 - name: Create db with user ownership
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_db:
     name: "{{ db_name }}"
     state: "present"
@@ -257,7 +257,7 @@
 
 - name: Check that the user owns the newly created DB
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
@@ -273,7 +273,7 @@
 
 - name: Change the owner on an existing db, username with dots
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_db:
     name: "{{ db_name }}"
     state: "present"
@@ -288,7 +288,7 @@
 
 - name: Check the previous step
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     login_user: "{{ pg_user }}"
     db: postgres
@@ -304,7 +304,7 @@
 
 - name: Change the owner on an existing db
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_db:
     name: "{{ db_name }}"
     state: "present"
@@ -319,7 +319,7 @@
 
 - name: Check that the user owns the newly created DB
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   shell: echo "select pg_catalog.pg_get_userbyid(datdba) from pg_catalog.pg_database where datname = '{{ db_name }}';" | psql -d postgres
   register: result
 
@@ -330,7 +330,7 @@
 
 - name: Cleanup db
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_db:
     name: "{{ db_name }}"
     state: "absent"
@@ -338,7 +338,7 @@
 
 - name: Check that database was destroyed
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   shell: echo "select datname from pg_database where datname = '{{ db_name }}';" | psql -d postgres
   register: result
 
@@ -348,7 +348,7 @@
 
 - name: Cleanup test user
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_user:
     name: "{{ db_user1 }}"
     state: 'absent'
@@ -357,7 +357,7 @@
 
 - name: Check that they were removed
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   shell: echo "select * from pg_user where usename='{{ db_user1 }}';" | psql -d postgres
   register: result
 
diff --git a/tests/integration/targets/postgresql_db/tasks/postgresql_db_session_role.yml b/tests/integration/targets/postgresql_db/tasks/postgresql_db_session_role.yml
index 4cdef73f..74f9e3ff 100644
--- a/tests/integration/targets/postgresql_db/tasks/postgresql_db_session_role.yml
+++ b/tests/integration/targets/postgresql_db/tasks/postgresql_db_session_role.yml
@@ -1,20 +1,20 @@
 - name: Check that becoming an non-existing user throws an error
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_db:
     state: present
     name: must_fail
     login_user: "{{ pg_user }}"
     session_role: "{{ db_session_role1 }}"
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 - assert:
     that:
       - result is failed
 
 - name: Create a high privileged user
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_user:
     name: "{{ db_session_role1 }}"
@@ -25,7 +25,7 @@
     db: postgres
 
 - name: Create a low privileged user using the newly created user
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_user:
     name: "{{ db_session_role2 }}"
@@ -38,7 +38,7 @@
 
 - name: Create DB as session_role
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_db:
     state: present
     name: "{{ db_session_role1 }}"
@@ -48,7 +48,7 @@
 
 - name: Check that database created and is owned by correct user
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   shell: echo "select rolname from pg_database join pg_roles on datdba = pg_roles.oid where datname = '{{ db_session_role1 }}';" | psql -AtXq postgres
   register: result
 
@@ -58,14 +58,14 @@
 
 - name: Fail when creating database as low privileged user
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_db:
     state: present
     name: "{{ db_session_role2 }}"
     login_user: "{{ pg_user }}"
     session_role: "{{ db_session_role2 }}"
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 - assert:
     that:
@@ -73,7 +73,7 @@
 
 - name: Drop test db
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_db:
     state: absent
     name: "{{ db_session_role1 }}"
diff --git a/tests/integration/targets/postgresql_db/tasks/state_dump_restore.yml b/tests/integration/targets/postgresql_db/tasks/state_dump_restore.yml
index 6c62cce6..0292ca31 100644
--- a/tests/integration/targets/postgresql_db/tasks/state_dump_restore.yml
+++ b/tests/integration/targets/postgresql_db/tasks/state_dump_restore.yml
@@ -20,12 +20,12 @@
 # ============================================================
 
 - name: Create a test user
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_user:
     name: "{{ db_user1 }}"
     state: "present"
-    encrypted: 'yes'
+    encrypted: 'true'
     password: "password"
     role_attr_flags: "CREATEDB,LOGIN,CREATEROLE"
     login_user: "{{ pg_user }}"
@@ -81,7 +81,7 @@
     dump_extra_args: --exclude-table=fake
   register: result
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
 
 - name: assert output message backup the database
   assert:
@@ -123,7 +123,7 @@
     state: restore
   register: result
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
 
 - name: assert output message restore the database
   assert:
@@ -145,31 +145,31 @@
 # 2. Test db name containing dots
 
 - name: state dump/restore - create database, trust_input no
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_db:
     state: present
     name: "{{ suspicious_db_name }}"
     owner: "{{ db_user1 }}"
     login_user: "{{ pg_user }}"
-    trust_input: no
+    trust_input: false
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 - assert:
     that:
     - result is failed
     - result.msg == 'Passed input \'{{ suspicious_db_name }}\' is potentially dangerous'
 
-- name: state dump/restore - create database, trust_input yes explicitly
-  become: yes
+- name: state dump/restore - create database, trust_input true explicitly
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_db:
     state: present
     name: "{{ suspicious_db_name }}"
     owner: "{{ db_user1 }}"
     login_user: "{{ pg_user }}"
-    trust_input: yes
+    trust_input: true
   register: result
 
 - assert:
@@ -177,7 +177,7 @@
     - result is changed
 
 - name: test state=restore to restore the database (expect changed=true)
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_db:
     name: "{{ db_name_with_dot }}"
@@ -196,14 +196,14 @@
     - result is changed
 
 - name: state dump/restore - remove databases
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_db:
     state: absent
     name: "{{ db_name_with_dot }}"
     owner: "{{ db_user1 }}"
     login_user: "{{ pg_user }}"
-    trust_input: yes
+    trust_input: true
   register: result
 
 - assert:
@@ -226,7 +226,7 @@
   file: name={{ db_file_name }}  state=absent
 
 - name: Remove the test user
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_user:
     name: "{{ db_user1 }}"
diff --git a/tests/integration/targets/postgresql_db/tasks/state_rename.yml b/tests/integration/targets/postgresql_db/tasks/state_rename.yml
index 749cf9db..dc87b76f 100644
--- a/tests/integration/targets/postgresql_db/tasks/state_rename.yml
+++ b/tests/integration/targets/postgresql_db/tasks/state_rename.yml
@@ -25,7 +25,7 @@
       <<: *pg_parameters
       name: '{{ db_source_name }}'
       state: rename
-    ignore_errors: yes
+    ignore_errors: true
 
   - assert:
       that:
@@ -39,7 +39,7 @@
       name: '{{ db_source_name }}'
       state: rename
       target: '{{ db_source_name }}'
-    ignore_errors: yes
+    ignore_errors: true
 
   - assert:
       that:
@@ -53,7 +53,7 @@
       name: postgres
       state: rename
       target: '{{ db_source_name }}'
-    ignore_errors: yes
+    ignore_errors: true
 
   - assert:
       that:
@@ -68,7 +68,7 @@
       name: '{{ db_source_name }}'
       state: rename
       target: '{{ db_target_name}}'
-    ignore_errors: yes
+    ignore_errors: true
 
   - assert:
       that:
@@ -82,8 +82,8 @@
       name: '{{ db_source_name }}'
       state: rename
       target: '{{ db_target_name}}'
-    ignore_errors: yes
-    check_mode: yes
+    ignore_errors: true
+    check_mode: true
 
   - assert:
       that:
@@ -108,7 +108,7 @@
       name: '{{ db_source_name }}'
       state: rename
       target: '{{ db_target_name}}'
-    ignore_errors: yes
+    ignore_errors: true
 
   - assert:
       that:
@@ -122,7 +122,7 @@
       name: '{{ db_source_name }}'
       state: rename
       target: '{{ db_target_name}}'
-    ignore_errors: yes
+    ignore_errors: true
 
   - assert:
       that:
@@ -145,7 +145,7 @@
       name: '{{ db_source_name }}'
       state: rename
       target: '{{ db_target_name }}'
-    check_mode: yes
+    check_mode: true
 
   - assert:
       that:
@@ -212,7 +212,7 @@
       name: '{{ db_source_name }}'
       state: rename
       target: '{{ db_target_name}}'
-    check_mode: yes
+    check_mode: true
 
   - assert:
       that:
diff --git a/tests/integration/targets/postgresql_ext/tasks/postgresql_ext_initial.yml b/tests/integration/targets/postgresql_ext/tasks/postgresql_ext_initial.yml
index cabf1f49..3e3eeda8 100644
--- a/tests/integration/targets/postgresql_ext/tasks/postgresql_ext_initial.yml
+++ b/tests/integration/targets/postgresql_ext/tasks/postgresql_ext_initial.yml
@@ -198,7 +198,7 @@
     db: postgres
     name: postgis
     session_role: 'curious.anonymous"; SELECT * FROM information_schema.tables; --'
-    trust_input: no
+    trust_input: false
   ignore_errors: true
   register: result
 
diff --git a/tests/integration/targets/postgresql_ext/tasks/postgresql_ext_session_role.yml b/tests/integration/targets/postgresql_ext/tasks/postgresql_ext_session_role.yml
index c1fed5bf..29173fd0 100644
--- a/tests/integration/targets/postgresql_ext/tasks/postgresql_ext_session_role.yml
+++ b/tests/integration/targets/postgresql_ext/tasks/postgresql_ext_session_role.yml
@@ -1,5 +1,5 @@
 - name: Create a high privileged user
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_user:
     name: "{{ db_session_role1 }}"
@@ -11,7 +11,7 @@
 
 - name: Create DB as session_role
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_db:
     state: present
     name: "{{ db_session_role1 }}"
@@ -21,13 +21,13 @@
 
 - name: Check that pg_extension exists (PostgreSQL >= 9.1)
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   shell: echo "select count(*) from pg_class where relname='pg_extension' and relkind='r'" | psql -AtXq postgres
   register: pg_extension
 
 - name: Remove plpgsql from testdb using postgresql_ext
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_ext:
     name: plpgsql
     db: "{{ db_session_role1 }}"
@@ -38,13 +38,13 @@
 
 - name: Fail when trying to create an extension as a mere mortal user
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_ext:
     name: plpgsql
     db: "{{ db_session_role1 }}"
     login_user: "{{ pg_user }}"
     session_role: "{{ db_session_role2 }}"
-  ignore_errors: yes
+  ignore_errors: true
   register: result
   when:
      "pg_extension.stdout_lines[-1] == '1'"
@@ -57,19 +57,19 @@
 
 - name: Install extension as session_role
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_ext:
     name: plpgsql
     db: "{{ db_session_role1 }}"
     login_user: "{{ pg_user }}"
     session_role: "{{ db_session_role1 }}"
-    trust_input: no
+    trust_input: false
   when:
      "pg_extension.stdout_lines[-1] == '1'"
 
 - name: Check that extension is created and is owned by session_role
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   shell: echo "select rolname from pg_extension join pg_roles on extowner=pg_roles.oid where extname='plpgsql';" | psql -AtXq "{{ db_session_role1 }}"
   register: result
   when:
@@ -83,26 +83,26 @@
 
 - name: Remove plpgsql from testdb using postgresql_ext
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_ext:
     name: plpgsql
     db: "{{ db_session_role1 }}"
     login_user: "{{ pg_user }}"
     state: absent
-    trust_input: no
+    trust_input: false
   when:
      "pg_extension.stdout_lines[-1] == '1'"
 
 - name: Drop test db
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_db:
     state: absent
     name: "{{ db_session_role1 }}"
     login_user: "{{ pg_user }}"
 
 - name: Drop test users
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_user:
     name: "{{ item }}"
diff --git a/tests/integration/targets/postgresql_ext/tasks/postgresql_ext_version_opt.yml b/tests/integration/targets/postgresql_ext/tasks/postgresql_ext_version_opt.yml
index 36249627..64aa188d 100644
--- a/tests/integration/targets/postgresql_ext/tasks/postgresql_ext_version_opt.yml
+++ b/tests/integration/targets/postgresql_ext/tasks/postgresql_ext_version_opt.yml
@@ -7,7 +7,7 @@
     test_schema: schema1
     task_parameters: &task_parameters
       become_user: '{{ pg_user }}'
-      become: yes
+      become: true
       register: result
     pg_parameters: &pg_parameters
       login_user: '{{ pg_user }}'
@@ -29,8 +29,8 @@
       name: "{{ test_ext }}"
       schema: "{{ test_schema }}"
       version: '1.0'
-      trust_input: no
-    check_mode: yes
+      trust_input: false
+    check_mode: true
 
   - assert:
       that:
@@ -53,7 +53,7 @@
       name: "{{ test_ext }}"
       schema: "{{ test_schema }}"
       version: '1.0'
-      trust_input: no
+      trust_input: false
 
   - assert:
       that:
@@ -77,8 +77,8 @@
       name: "{{ test_ext }}"
       schema: "{{ test_schema }}"
       version: '1.0'
-      trust_input: no
-    check_mode: yes
+      trust_input: false
+    check_mode: true
 
   - assert:
       that:
@@ -101,7 +101,7 @@
       name: "{{ test_ext }}"
       schema: "{{ test_schema }}"
       version: '1.0'
-      trust_input: no
+      trust_input: false
 
   - assert:
       that:
@@ -124,8 +124,8 @@
       name: "{{ test_ext }}"
       schema: "{{ test_schema }}"
       version: '2.0'
-      trust_input: no
-    check_mode: yes
+      trust_input: false
+    check_mode: true
 
   - assert:
       that:
@@ -148,7 +148,7 @@
       name: "{{ test_ext }}"
       schema: "{{ test_schema }}"
       version: '2.0'
-      trust_input: no
+      trust_input: false
 
   - assert:
       that:
@@ -171,7 +171,7 @@
       <<: *pg_parameters
       name: "{{ test_ext }}"
       schema: "{{ test_schema }}"
-      trust_input: no
+      trust_input: false
 
   - assert:
       that:
@@ -194,7 +194,7 @@
       name: "{{ test_ext }}"
       schema: "{{ test_schema }}"
       version: latest
-      trust_input: no
+      trust_input: false
 
   - assert:
       that:
@@ -218,7 +218,7 @@
       name: "{{ test_ext }}"
       schema: "{{ test_schema }}"
       version: latest
-      trust_input: no
+      trust_input: false
 
   - assert:
       that:
@@ -241,8 +241,8 @@
       name: "{{ test_ext }}"
       schema: "{{ test_schema }}"
       version: '1.0'
-      trust_input: no
-    ignore_errors: yes
+      trust_input: false
+    ignore_errors: true
 
   - assert:
       that:
@@ -254,8 +254,8 @@
       <<: *pg_parameters
       name: "{{ test_ext }}"
       state: absent
-      trust_input: no
-    check_mode: yes
+      trust_input: false
+    check_mode: true
 
   - assert:
       that:
@@ -277,7 +277,7 @@
       <<: *pg_parameters
       name: "{{ test_ext }}"
       state: absent
-      trust_input: no
+      trust_input: false
 
   - assert:
       that:
@@ -299,7 +299,7 @@
       <<: *pg_parameters
       name: "{{ test_ext }}"
       state: absent
-      trust_input: no
+      trust_input: false
 
   - assert:
       that:
@@ -310,7 +310,7 @@
     postgresql_ext:
       <<: *pg_parameters
       name: "{{ test_ext }}"
-      trust_input: no
+      trust_input: false
 
   - assert:
       that:
@@ -332,8 +332,8 @@
     postgresql_ext:
       <<: *pg_parameters
       name: non_existent
-      trust_input: no
-    ignore_errors: yes
+      trust_input: false
+    ignore_errors: true
 
   - assert:
       that:
@@ -411,7 +411,7 @@
       <<: *pg_parameters
       name: "{{ test_ext }}"
       state: absent
-      trust_input: no
+      trust_input: false
 
   - name: postgresql_ext_version - drop the schema
     <<: *task_parameters
diff --git a/tests/integration/targets/postgresql_idx/tasks/postgresql_idx_initial.yml b/tests/integration/targets/postgresql_idx/tasks/postgresql_idx_initial.yml
index 31d16627..3c2dc3fb 100644
--- a/tests/integration/targets/postgresql_idx/tasks/postgresql_idx_initial.yml
+++ b/tests/integration/targets/postgresql_idx/tasks/postgresql_idx_initial.yml
@@ -92,7 +92,7 @@
     table: test_table
     columns: id, story
     idxname: Test0_idx
-    trust_input: no
+    trust_input: false
   register: result
   ignore_errors: true
 
@@ -159,7 +159,7 @@
     idxname: foo_test_idx
     tablespace: ssd
     storage_params: fillfactor=90
-    trust_input: no
+    trust_input: false
   register: result
   ignore_errors: true
   when: tablespace.rc == 0
@@ -190,7 +190,7 @@
     columns: id
     idxname: test_brin_idx
     concurrent: false
-    trust_input: no
+    trust_input: false
   register: result
   ignore_errors: true
 
@@ -217,7 +217,7 @@
     columns: id
     idxname: test1_idx
     cond: id > 1 AND id != 10
-    trust_input: no
+    trust_input: false
   register: result
   ignore_errors: true
 
@@ -243,7 +243,7 @@
     columns: story
     idxname: test_unique0_idx
     unique: true
-    trust_input: no
+    trust_input: false
   register: result
   ignore_errors: true
 
@@ -290,7 +290,7 @@
     cascade: true
     state: absent
     concurrent: false
-    trust_input: yes
+    trust_input: true
   check_mode: true
   register: result
   ignore_errors: true
diff --git a/tests/integration/targets/postgresql_info/tasks/postgresql_info_initial.yml b/tests/integration/targets/postgresql_info/tasks/postgresql_info_initial.yml
index 36c4015a..8f122d4a 100644
--- a/tests/integration/targets/postgresql_info/tasks/postgresql_info_initial.yml
+++ b/tests/integration/targets/postgresql_info/tasks/postgresql_info_initial.yml
@@ -4,7 +4,7 @@
 - vars:
     task_parameters: &task_parameters
       become_user: '{{ pg_user }}'
-      become: yes
+      become: true
       register: result
     pg_parameters: &pg_parameters
       login_user: '{{ pg_user }}'
@@ -204,7 +204,7 @@
       <<: *pg_parameters
       login_db: '{{ test_db }}'
       login_port: '{{ primary_port }}'
-      trust_input: yes
+      trust_input: true
 
   - assert:
       that:
@@ -226,10 +226,10 @@
       <<: *pg_parameters
       login_db: '{{ test_db }}'
       login_port: '{{ primary_port }}'
-      trust_input: no
+      trust_input: false
       session_role: 'curious.anonymous"; SELECT * FROM information_schema.tables; --'
     register: result
-    ignore_errors: yes
+    ignore_errors: true
 
   - assert:
       that:
diff --git a/tests/integration/targets/postgresql_info/tasks/setup_publication.yml b/tests/integration/targets/postgresql_info/tasks/setup_publication.yml
index 1a1bea5d..3d8fed92 100644
--- a/tests/integration/targets/postgresql_info/tasks/setup_publication.yml
+++ b/tests/integration/targets/postgresql_info/tasks/setup_publication.yml
@@ -5,7 +5,7 @@
 - vars:
     task_parameters: &task_parameters
       become_user: '{{ pg_user }}'
-      become: yes
+      become: true
       register: result
     pg_parameters: &pg_parameters
       login_user: '{{ pg_user }}'
diff --git a/tests/integration/targets/postgresql_lang/tasks/postgresql_lang_add_owner_param.yml b/tests/integration/targets/postgresql_lang/tasks/postgresql_lang_add_owner_param.yml
index 5d21db56..a08ff82f 100644
--- a/tests/integration/targets/postgresql_lang/tasks/postgresql_lang_add_owner_param.yml
+++ b/tests/integration/targets/postgresql_lang/tasks/postgresql_lang_add_owner_param.yml
@@ -8,7 +8,7 @@
     non_existent_role: fake_role
     task_parameters: &task_parameters
       become_user: '{{ pg_user }}'
-      become: yes
+      become: true
       register: result
     pg_parameters: &pg_parameters
       login_user: '{{ pg_user }}'
@@ -30,8 +30,8 @@
       <<: *pg_parameters
       name: '{{ test_lang }}'
       owner: '{{ test_user1 }}'
-      trust_input: no
-    check_mode: yes
+      trust_input: false
+    check_mode: true
 
   - assert:
       that:
@@ -58,7 +58,7 @@
       <<: *pg_parameters
       name: '{{ test_lang }}'
       owner: '{{ test_user1 }}'
-      trust_input: no
+      trust_input: false
 
   - assert:
       that:
@@ -85,8 +85,8 @@
       <<: *pg_parameters
       name: '{{ test_lang }}'
       owner: '{{ test_user2 }}'
-      trust_input: yes
-    check_mode: yes
+      trust_input: true
+    check_mode: true
 
   - assert:
       that:
diff --git a/tests/integration/targets/postgresql_lang/tasks/postgresql_lang_initial.yml b/tests/integration/targets/postgresql_lang/tasks/postgresql_lang_initial.yml
index 66023de8..1d24778b 100644
--- a/tests/integration/targets/postgresql_lang/tasks/postgresql_lang_initial.yml
+++ b/tests/integration/targets/postgresql_lang/tasks/postgresql_lang_initial.yml
@@ -3,7 +3,7 @@
 
 # Preparation for tests:
 - name: Install PostgreSQL support packages
-  become: yes
+  become: true
   action: "{{ ansible_facts.pkg_mgr }}"
   args:
     name: "{{ postgresql_lang_packages }}"
@@ -16,14 +16,14 @@
 # Create language in check_mode:
 - name: postgresql_lang - create plperl in check_mode
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_lang:
     db: postgres
     login_user: "{{ pg_user }}"
     name: plperl
   register: result
-  ignore_errors: yes
-  check_mode: yes
+  ignore_errors: true
+  check_mode: true
 
 - assert:
     that:
@@ -32,7 +32,7 @@
 
 - name: postgresql_lang - check that lang doesn't exist after previous step, rowcount must be 0
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
@@ -46,13 +46,13 @@
 # Create language:
 - name: postgresql_lang - create plperl
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_lang:
     db: postgres
     login_user: "{{ pg_user }}"
     name: plperl
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 - assert:
     that:
@@ -61,7 +61,7 @@
 
 - name: postgresql_lang - check that lang exists after previous step
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
@@ -75,15 +75,15 @@
 # Drop language in check_mode:
 - name: postgresql_lang - drop plperl in check_mode
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_lang:
     db: postgres
     login_user: "{{ pg_user }}"
     name: plperl
     state: absent
   register: result
-  ignore_errors: yes
-  check_mode: yes
+  ignore_errors: true
+  check_mode: true
 
 - assert:
     that:
@@ -92,7 +92,7 @@
 
 - name: postgresql_lang - check that lang exists after previous step, rowcount must be 1
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
@@ -106,14 +106,14 @@
 # Drop language:
 - name: postgresql_lang - drop plperl
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_lang:
     db: postgres
     login_user: "{{ pg_user }}"
     name: plperl
     state: absent
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 - assert:
     that:
@@ -122,7 +122,7 @@
 
 - name: postgresql_lang - check that lang doesn't exist after previous step, rowcount must be 0
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
@@ -133,18 +133,18 @@
     that:
     - result.rowcount == 0
 
-# Check fail_on_drop yes
-- name: postgresql_lang - drop c language to check fail_on_drop yes
+# Check fail_on_drop true
+- name: postgresql_lang - drop c language to check fail_on_drop true
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_lang:
     db: postgres
     login_user: "{{ pg_user }}"
     name: c
     state: absent
-    fail_on_drop: yes
+    fail_on_drop: true
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 - assert:
     that:
@@ -153,15 +153,15 @@
 # Check fail_on_drop no
 - name: postgresql_lang - drop c language to check fail_on_drop no
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_lang:
     db: postgres
     login_user: "{{ pg_user }}"
     name: c
     state: absent
-    fail_on_drop: no
+    fail_on_drop: false
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 - assert:
     that:
@@ -170,15 +170,15 @@
 # Create trusted language:
 - name: postgresql_lang - create plpythonu
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_lang:
     db: postgres
     login_user: "{{ pg_user }}"
     name: plpythonu
-    trust: yes
-    force_trust: yes
+    trust: true
+    force_trust: true
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 - assert:
     that:
@@ -187,7 +187,7 @@
 
 - name: postgresql_lang - check that lang exists and it's trusted after previous step
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
@@ -201,16 +201,16 @@
 # Drop language cascade, tests of aliases:
 - name: postgresql_lang - drop plpythonu cascade
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_lang:
     login_db: postgres
     login_user: "{{ pg_user }}"
     login_port: 5432
     lang: plpythonu
     state: absent
-    cascade: yes
+    cascade: true
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 - assert:
     that:
@@ -219,7 +219,7 @@
 
 - name: postgresql_lang - check that lang doesn't exist after previous step, rowcount must be 0
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
diff --git a/tests/integration/targets/postgresql_membership/tasks/postgresql_membership_initial.yml b/tests/integration/targets/postgresql_membership/tasks/postgresql_membership_initial.yml
deleted file mode 100644
index d8d7bb6b..00000000
--- a/tests/integration/targets/postgresql_membership/tasks/postgresql_membership_initial.yml
+++ /dev/null
@@ -1,390 +0,0 @@
-# Copyright: (c) 2019, Andrew Klychkov (@Andersson007) <aaklychkov@mail.ru>
-# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
-
-####################
-# Prepare for tests:
-
-# Create test roles:
-- name: postgresql_membership - create test roles
-  become_user: "{{ pg_user }}"
-  become: yes
-  postgresql_user:
-    login_user: "{{ pg_user }}"
-    db: postgres
-    name: "{{ item }}"
-  ignore_errors: yes
-  with_items:
-  - "{{ test_group1 }}"
-  - "{{ test_group2 }}"
-  - "{{ test_group3 }}"
-  - "{{ test_user1 }}"
-  - "{{ test_user2 }}"
-
-################
-# Do main tests:
-
-### Test check_mode
-# Grant test_group1 to test_user1 in check_mode:
-- name: postgresql_membership - grant test_group1 to test_user1 in check_mode
-  become_user: "{{ pg_user }}"
-  become: yes
-  postgresql_membership:
-    login_user: "{{ pg_user }}"
-    db: postgres
-    group: "{{ test_group1 }}"
-    user: "{{ test_user1 }}"
-    state: present
-  register: result
-  ignore_errors: yes
-  check_mode: yes
-
-- assert:
-    that:
-    - result is changed
-    - result.groups == ["{{ test_group1 }}"]
-    - result.queries == ["GRANT \"{{ test_group1 }}\" TO \"{{ test_user1 }}\""]
-    - result.granted.{{ test_group1 }} == ["{{ test_user1 }}"]
-    - result.state == "present"
-    - result.target_roles == ["{{ test_user1 }}"]
-
-# Try to revoke test_group1 from test_user1 to check that
-# nothing actually changed in check_mode at the previous step:
-- name: postgresql_membership - try to revoke test_group1 from test_user1 for checking check_mode
-  become_user: "{{ pg_user }}"
-  become: yes
-  postgresql_membership:
-    login_user: "{{ pg_user }}"
-    db: postgres
-    group: "{{ test_group1 }}"
-    user: "{{ test_user1 }}"
-    state: absent
-  register: result
-  ignore_errors: yes
-  check_mode: yes
-
-- assert:
-    that:
-    - result is not changed
-    - result.groups == ["{{ test_group1 }}"]
-    - result.queries == []
-    - result.revoked.{{ test_group1 }} == []
-    - result.state == "absent"
-    - result.target_roles == ["{{ test_user1 }}"]
-### End of test check_mode
-
-# Grant test_group1 to test_user1:
-- name: postgresql_membership - grant test_group1 to test_user1
-  become_user: "{{ pg_user }}"
-  become: yes
-  postgresql_membership:
-    login_user: "{{ pg_user }}"
-    db: postgres
-    group: "{{ test_group1 }}"
-    user: "{{ test_user1 }}"
-    state: present
-  register: result
-  ignore_errors: yes
-
-- assert:
-    that:
-    - result is changed
-    - result.groups == ["{{ test_group1 }}"]
-    - result.queries == ["GRANT \"{{ test_group1 }}\" TO \"{{ test_user1 }}\""]
-    - result.granted.{{ test_group1 }} == ["{{ test_user1 }}"]
-    - result.state == "present"
-    - result.target_roles == ["{{ test_user1 }}"]
-
-# Grant test_group1 to test_user1 again to check that nothing changes:
-- name: postgresql_membership - grant test_group1 to test_user1 again
-  become_user: "{{ pg_user }}"
-  become: yes
-  postgresql_membership:
-    login_user: "{{ pg_user }}"
-    db: postgres
-    group: "{{ test_group1 }}"
-    user: "{{ test_user1 }}"
-    state: present
-  register: result
-  ignore_errors: yes
-
-- assert:
-    that:
-    - result is not changed
-    - result.groups == ["{{ test_group1 }}"]
-    - result.queries == []
-    - result.granted.{{ test_group1 }} == []
-    - result.state == "present"
-    - result.target_roles == ["{{ test_user1 }}"]
-
-# Revoke test_group1 from test_user1:
-- name: postgresql_membership - revoke test_group1 from test_user1
-  become_user: "{{ pg_user }}"
-  become: yes
-  postgresql_membership:
-    login_user: "{{ pg_user }}"
-    db: postgres
-    group: "{{ test_group1 }}"
-    user: "{{ test_user1 }}"
-    state: absent
-  register: result
-  ignore_errors: yes
-
-- assert:
-    that:
-    - result is changed
-    - result.groups == ["{{ test_group1 }}"]
-    - result.queries == ["REVOKE \"{{ test_group1 }}\" FROM \"{{ test_user1 }}\""]
-    - result.revoked.{{ test_group1 }} == ["{{ test_user1 }}"]
-    - result.state == "absent"
-    - result.target_roles == ["{{ test_user1 }}"]
-
-# Revoke test_group1 from test_user1 again to check that nothing changes:
-- name: postgresql_membership - revoke test_group1 from test_user1 again
-  become_user: "{{ pg_user }}"
-  become: yes
-  postgresql_membership:
-    login_user: "{{ pg_user }}"
-    db: postgres
-    group: "{{ test_group1 }}"
-    user: "{{ test_user1 }}"
-    state: absent
-  register: result
-  ignore_errors: yes
-
-- assert:
-    that:
-    - result is not changed
-    - result.groups == ["{{ test_group1 }}"]
-    - result.queries == []
-    - result.revoked.{{ test_group1 }} == []
-    - result.state == "absent"
-    - result.target_roles == ["{{ test_user1 }}"]
-
-# Grant test_group1 and test_group2 to test_user1 and test_user2:
-- name: postgresql_membership - grant two groups to two users
-  become_user: "{{ pg_user }}"
-  become: yes
-  postgresql_membership:
-    login_user: "{{ pg_user }}"
-    db: postgres
-    group:
-    - "{{ test_group1 }}"
-    - "{{ test_group2 }}"
-    user:
-    - "{{ test_user1 }}"
-    - "{{ test_user2 }}"
-    state: present
-  register: result
-  ignore_errors: yes
-
-- assert:
-    that:
-    - result is changed
-    - result.groups == ["{{ test_group1 }}", "{{ test_group2 }}"]
-    - result.queries == ["GRANT \"{{ test_group1 }}\" TO \"{{ test_user1 }}\"", "GRANT \"{{ test_group1 }}\" TO \"{{ test_user2 }}\"", "GRANT \"{{ test_group2 }}\" TO \"{{ test_user1 }}\"", "GRANT \"{{ test_group2 }}\" TO \"{{ test_user2 }}\""]
-    - result.granted.{{ test_group1 }} == ["{{ test_user1 }}", "{{ test_user2 }}"]
-    - result.granted.{{ test_group2 }} == ["{{ test_user1 }}", "{{ test_user2 }}"]
-    - result.state == "present"
-    - result.target_roles == ["{{ test_user1 }}", "{{ test_user2 }}"]
-
-# Grant test_group1 and test_group2 to test_user1 and test_user2 again to check that nothing changes:
-- name: postgresql_membership - grant two groups to two users again
-  become_user: "{{ pg_user }}"
-  become: yes
-  postgresql_membership:
-    login_user: "{{ pg_user }}"
-    db: postgres
-    group:
-    - "{{ test_group1 }}"
-    - "{{ test_group2 }}"
-    user:
-    - "{{ test_user1 }}"
-    - "{{ test_user2 }}"
-    state: present
-  register: result
-  ignore_errors: yes
-
-- assert:
-    that:
-    - result is not changed
-    - result.groups == ["{{ test_group1 }}", "{{ test_group2 }}"]
-    - result.queries == []
-    - result.granted.{{ test_group1 }} == []
-    - result.granted.{{ test_group2 }} == []
-    - result.state == "present"
-    - result.target_roles == ["{{ test_user1 }}", "{{ test_user2 }}"]
-
-# Revoke only test_group1 from test_user1:
-- name: postgresql_membership - revoke one group from one user
-  become_user: "{{ pg_user }}"
-  become: yes
-  postgresql_membership:
-    login_user: "{{ pg_user }}"
-    db: postgres
-    group: "{{ test_group1 }}"
-    user: "{{ test_user1 }}"
-    state: absent
-  register: result
-  ignore_errors: yes
-
-- assert:
-    that:
-    - result is changed
-    - result.groups == ["{{ test_group1 }}"]
-    - result.queries == ["REVOKE \"{{ test_group1 }}\" FROM \"{{ test_user1 }}\""]
-    - result.revoked.{{ test_group1 }} == ["{{ test_user1 }}"]
-    - result.state == "absent"
-    - result.target_roles == ["{{ test_user1 }}"]
-
-# Try to grant test_group1 and test_group2 to test_user1 and test_user2 again
-# to check that nothing changes with test_user2:
-- name: postgresql_membership - grant two groups to two users again
-  become_user: "{{ pg_user }}"
-  become: yes
-  postgresql_membership:
-    login_user: "{{ pg_user }}"
-    db: postgres
-    group:
-    - "{{ test_group1 }}"
-    - "{{ test_group2 }}"
-    user:
-    - "{{ test_user1 }}"
-    - "{{ test_user2 }}"
-    state: present
-  register: result
-  ignore_errors: yes
-
-- assert:
-    that:
-    - result is changed
-    - result.groups == ["{{ test_group1 }}", "{{ test_group2 }}"]
-    - result.queries == ["GRANT \"{{ test_group1 }}\" TO \"{{ test_user1 }}\""]
-    - result.granted.{{ test_group1 }} == ["{{ test_user1 }}"]
-    - result.granted.{{ test_group2 }} == []
-    - result.state == "present"
-    - result.target_roles == ["{{ test_user1 }}", "{{ test_user2 }}"]
-
-#####################
-# Check fail_on_role:
-
-# Try to grant non existent group to non existent role with fail_on_role=yes:
-- name: postgresql_membership - revoke non existen group from non existen role
-  become_user: "{{ pg_user }}"
-  become: yes
-  postgresql_membership:
-    login_user: "{{ pg_user }}"
-    db: postgres
-    group: fake_group
-    user: fake_user
-    state: present
-    fail_on_role: yes
-  register: result
-  ignore_errors: yes
-
-- assert:
-    that:
-    - result is not changed
-
-# Try to grant non existent group to non existent role with fail_on_role=no:
-- name: postgresql_membership - revoke non existen group from non existen role
-  become_user: "{{ pg_user }}"
-  become: yes
-  postgresql_membership:
-    login_user: "{{ pg_user }}"
-    db: postgres
-    group: fake_group
-    user: fake_user
-    state: present
-    fail_on_role: no
-  register: result
-  ignore_errors: yes
-
-- assert:
-    that:
-    - result is not changed
-    - result.granted == {}
-    - result.groups == []
-    - result.target_roles == []
-    - result.state == 'present'
-
-# Try to revoke non existent group from non existent role with fail_on_role=no:
-- name: postgresql_membership - revoke non existen group from non existen role
-  become_user: "{{ pg_user }}"
-  become: yes
-  postgresql_membership:
-    login_user: "{{ pg_user }}"
-    db: postgres
-    group: fake_group
-    user: fake_user
-    state: absent
-    fail_on_role: no
-  register: result
-  ignore_errors: yes
-
-- assert:
-    that:
-    - result is not changed
-    - result.revoked == {}
-    - result.groups == []
-    - result.target_roles == []
-    - result.state == 'absent'
-
-# Grant test_group3 with a name containing dots to test_user1.
-- name: postgresql_membership - grant test_group3 with dots to test_user1
-  become_user: "{{ pg_user }}"
-  become: yes
-  postgresql_membership:
-    login_user: "{{ pg_user }}"
-    db: postgres
-    group: "{{ test_group3 }}"
-    user: "{{ test_user1 }}"
-    state: present
-  register: result
-
-- assert:
-    that:
-    - result is changed
-    - result.queries == ["GRANT \"{{ test_group3 }}\" TO \"{{ test_user1 }}\""]
-
-#############################
-# Check trust_input parameter
-
-- name: postgresql_membership - try to use dangerous input, don't trust
-  become_user: "{{ pg_user }}"
-  become: yes
-  postgresql_membership:
-    login_user: "{{ pg_user }}"
-    db: postgres
-    group:
-    - "{{ test_group3}}"
-    - "{{ dangerous_name }}"
-    user: "{{ test_user1 }}"
-    state: present
-    trust_input: no
-  register: result
-  ignore_errors: yes
-
-- assert:
-    that:
-    - result is failed
-    - result.msg == 'Passed input \'{{ dangerous_name }}\' is potentially dangerous'
-
-- name: postgresql_membership - try to use dangerous input, trust explicitly
-  become_user: "{{ pg_user }}"
-  become: yes
-  postgresql_membership:
-    login_user: "{{ pg_user }}"
-    db: postgres
-    group:
-    - "{{ test_group3}}"
-    - "{{ dangerous_name }}"
-    user: "{{ test_user1 }}"
-    state: present
-    trust_input: yes
-  register: result
-  ignore_errors: yes
-
-- assert:
-    that:
-    - result is failed
-    - result.msg == 'Role {{ dangerous_name }} does not exist'
diff --git a/tests/integration/targets/postgresql_owner/tasks/postgresql_owner_initial.yml b/tests/integration/targets/postgresql_owner/tasks/postgresql_owner_initial.yml
index 65623675..a2116028 100644
--- a/tests/integration/targets/postgresql_owner/tasks/postgresql_owner_initial.yml
+++ b/tests/integration/targets/postgresql_owner/tasks/postgresql_owner_initial.yml
@@ -196,7 +196,7 @@
     db: acme
     new_owner: alice
     reassign_owned_by: bob
-    trust_input: yes
+    trust_input: true
   register: result
 
 - assert:
@@ -221,7 +221,7 @@
 ###########################
 # Test trust_inpt parameter
 
-- name: postgresql_owner - reassign_owned_by, trust_input no
+- name: postgresql_owner - reassign_owned_by, trust_input false
   become_user: '{{ pg_user }}'
   become: true
   postgresql_owner:
@@ -229,16 +229,16 @@
     db: acme
     new_owner: '{{ dangerous_name }}'
     reassign_owned_by: alice
-    trust_input: no
+    trust_input: false
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 - assert:
     that:
     - result is failed
     - result.msg == 'Passed input \'{{ dangerous_name }}\' is potentially dangerous'
 
-- name: postgresql_owner - reassign_owned_by, trust_input yes by default
+- name: postgresql_owner - reassign_owned_by, trust_input true by default
   become_user: '{{ pg_user }}'
   become: true
   postgresql_owner:
@@ -247,7 +247,7 @@
     new_owner: '{{ dangerous_name }}'
     reassign_owned_by: alice
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 - assert:
     that:
diff --git a/tests/integration/targets/postgresql_pg_hba/tasks/postgresql_pg_hba_initial.yml b/tests/integration/targets/postgresql_pg_hba/tasks/postgresql_pg_hba_initial.yml
index 583717e0..12758738 100644
--- a/tests/integration/targets/postgresql_pg_hba/tasks/postgresql_pg_hba_initial.yml
+++ b/tests/integration/targets/postgresql_pg_hba/tasks/postgresql_pg_hba_initial.yml
@@ -13,7 +13,7 @@
     backup: 'True'
     order: sud
     state: "{{item}}"
-  check_mode: yes
+  check_mode: true
   with_items:
   - present
   - absent
@@ -150,7 +150,7 @@
     source: all
     state: present
   register: pg_hba_fail_src_all_with_netmask
-  ignore_errors: yes
+  ignore_errors: true
 
 - debug:
     var: pg_hba.pg_hba
@@ -197,7 +197,7 @@
   fetch:
     src: /tmp/pg_hba2.conf
     dest: /tmp/pg_hba2.conf
-    flat: yes
+    flat: true
 - name: Read pg_hba2.conf
   set_fact:
     content: "{{ lookup('file', '/tmp/pg_hba2.conf') }}"
@@ -221,7 +221,7 @@
   fetch:
     src: /tmp/pg_hba2.conf
     dest: /tmp/pg_hba2.conf
-    flat: yes
+    flat: true
 - name: Read pg_hba2.conf
   set_fact:
     content: "{{ lookup('file', '/tmp/pg_hba2.conf') }}"
@@ -246,7 +246,7 @@
   fetch:
     src: /tmp/pg_hba2.conf
     dest: /tmp/pg_hba2.conf
-    flat: yes
+    flat: true
 - name: Read pg_hba2.conf
   set_fact:
     content: "{{ lookup('file', '/tmp/pg_hba2.conf') }}"
diff --git a/tests/integration/targets/postgresql_ping/tasks/postgresql_ping_initial.yml b/tests/integration/targets/postgresql_ping/tasks/postgresql_ping_initial.yml
index af1c3a00..30628d06 100644
--- a/tests/integration/targets/postgresql_ping/tasks/postgresql_ping_initial.yml
+++ b/tests/integration/targets/postgresql_ping/tasks/postgresql_ping_initial.yml
@@ -4,12 +4,12 @@
 
 - name: postgresql_ping - test return values
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_ping:
     db: "{{ db_default }}"
     login_user: "{{ pg_user }}"
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 - assert:
     that:
@@ -33,12 +33,12 @@
 
 - name: postgresql_ping - check ping of non-existing database doesn't return anything
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_ping:
     db: "{{ db_name_nonexist }}"
     login_user: "{{ pg_user }}"
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 - assert:
     that:
@@ -48,7 +48,7 @@
 
 - name: postgresql_ping - ping DB with SSL
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_ping:
     db: "{{ ssl_db }}"
     login_user: "{{ ssl_user }}"
@@ -57,7 +57,7 @@
     login_port: 5432
     ssl_mode: require
     ca_cert: '{{ ssl_rootcert }}'
-    trust_input: yes
+    trust_input: true
   register: result
   when:
   - ansible_os_family == 'Debian'
@@ -73,14 +73,14 @@
 
 - name: postgresql_ping - check trust_input
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_ping:
     db: "{{ db_default }}"
     login_user: "{{ pg_user }}"
-    trust_input: no
+    trust_input: false
     session_role: 'curious.anonymous"; SELECT * FROM information_schema.tables; --'
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 - assert:
     that:
@@ -90,7 +90,7 @@
 # Check conn_err_msg return value
 - name: Try to connect to non-existent DB
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_ping:
     db: blahblah
     login_user: "{{ pg_user }}"
diff --git a/tests/integration/targets/postgresql_privs/tasks/pg_authid_not_readable.yml b/tests/integration/targets/postgresql_privs/tasks/pg_authid_not_readable.yml
index f5d502d0..3f810d47 100644
--- a/tests/integration/targets/postgresql_privs/tasks/pg_authid_not_readable.yml
+++ b/tests/integration/targets/postgresql_privs/tasks/pg_authid_not_readable.yml
@@ -1,9 +1,9 @@
 - name: "Admin user is allowed to access pg_authid relation: password comparison will succeed, password won't be updated"
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_user:
     name: "{{ db_user1 }}"
-    encrypted: 'yes'
+    encrypted: 'true'
     password: "md5{{ (db_password ~ db_user1) | hash('md5')}}"
     db: "{{ db_name }}"
     priv: 'test_table1:INSERT,SELECT,UPDATE,DELETE,TRUNCATE,REFERENCES,TRIGGER/test_table2:INSERT/CREATE,CONNECT,TEMP'
@@ -21,7 +21,7 @@
   shell: 'psql -c "select * from pg_authid;" {{ db_name }} {{ db_user1 }}'
   environment:
     PGPASSWORD: '{{ db_password }}'
-  ignore_errors: yes
+  ignore_errors: true
   register: pg_authid
 
 - assert:
@@ -31,10 +31,10 @@
 
 - name: "Normal user isn't allowed to access pg_authid relation: password comparison will fail, password will be updated"
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_user:
     name: "{{ db_user1 }}"
-    encrypted: 'yes'
+    encrypted: 'true'
     password: "md5{{ (db_password ~ db_user1) | hash('md5')}}"
     db: "{{ db_name }}"
     priv: 'test_table1:INSERT,SELECT,UPDATE,DELETE,TRUNCATE,REFERENCES,TRIGGER/test_table2:INSERT/CREATE,CONNECT,TEMP'
diff --git a/tests/integration/targets/postgresql_privs/tasks/postgresql_privs_general.yml b/tests/integration/targets/postgresql_privs/tasks/postgresql_privs_general.yml
index 530e0d1e..b0e80af2 100644
--- a/tests/integration/targets/postgresql_privs/tasks/postgresql_privs_general.yml
+++ b/tests/integration/targets/postgresql_privs/tasks/postgresql_privs_general.yml
@@ -1,7 +1,7 @@
 # Setup
 - name: Create DB
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_db:
     state: present
     name: "{{ db_name }}"
@@ -11,7 +11,7 @@
   postgresql_user:
     name: "{{ db_user3 }}"
     state: present
-    encrypted: yes
+    encrypted: true
     password: password
     role_attr_flags: CREATEDB,LOGIN
     db: "{{ db_name }}"
@@ -21,7 +21,7 @@
   postgresql_user:
     name: "{{ db_user2 }}"
     state: present
-    encrypted: yes
+    encrypted: true
     password: password
     role_attr_flags: LOGIN
     db: "{{ db_name }}"
@@ -32,7 +32,7 @@
 #############################
 - name: Create DB with hyphen in the name
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_db:
     state: present
     name: "{{ db_name_with_hyphens }}"
@@ -47,7 +47,7 @@
   postgresql_user:
     name: "{{ db_user_with_hyphens }}"
     state: present
-    encrypted: yes
+    encrypted: true
     password: password
     role_attr_flags: CREATEDB,LOGIN
     db: "{{ db_name_with_hyphens }}"
@@ -83,9 +83,9 @@
      obj: TABLES
      privs: all
      state: present
-     usage_on_types: yes
+     usage_on_types: true
   register: result
-  check_mode: yes
+  check_mode: true
 
 - assert:
     that:
@@ -104,7 +104,7 @@
      obj: TABLES
      privs: all
      state: present
-     usage_on_types: no
+     usage_on_types: false
   register: result
 
 - assert:
@@ -146,7 +146,7 @@
   postgresql_user:
     name: "{{ db_user_with_hyphens }}"
     state: absent
-    encrypted: yes
+    encrypted: true
     password: password
     role_attr_flags: CREATEDB,LOGIN
     db: "{{ db_name_with_hyphens }}"
@@ -159,7 +159,7 @@
 
 - name: Delete DB with hyphen in the name
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_db:
     state: absent
     name: "{{ db_name_with_hyphens }}"
@@ -176,7 +176,7 @@
 
 # Create the test table and view:
 - name: Create table
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_table:
     login_user: "{{ pg_user }}"
@@ -186,7 +186,7 @@
     - id int
 
 - name: Create view
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_query:
     login_user: "{{ pg_user }}"
@@ -195,7 +195,7 @@
 
 # Test check_mode:
 - name: Grant SELECT on test_view, check_mode
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_privs:
     login_user: "{{ pg_user }}"
@@ -205,8 +205,8 @@
     type: table
     objs: test_view
     roles: "{{ db_user2 }}"
-    trust_input: no
-  check_mode: yes
+    trust_input: false
+  check_mode: true
   register: result
 
 - assert:
@@ -215,7 +215,7 @@
 
 # Check:
 - name: Check that nothing was changed after the prev step
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_query:
     login_user: "{{ pg_user }}"
@@ -229,7 +229,7 @@
 
 # Test true mode:
 - name: Grant SELECT on test_view
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_privs:
     login_user: "{{ pg_user }}"
@@ -239,7 +239,7 @@
     type: table
     objs: test_view
     roles: "{{ db_user2 }}"
-    trust_input: no
+    trust_input: false
   register: result
 
 - assert:
@@ -248,7 +248,7 @@
 
 # Check:
 - name: Check that nothing was changed after the prev step
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_query:
     login_user: "{{ pg_user }}"
@@ -262,7 +262,7 @@
 
 # Test true mode:
 - name: Try to grant SELECT again
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_privs:
     login_user: "{{ pg_user }}"
@@ -272,7 +272,7 @@
     type: table
     objs: test_view
     roles: "{{ db_user2 }}"
-    trust_input: no
+    trust_input: false
   register: result
 
 - assert:
@@ -281,7 +281,7 @@
 
 # Cleanup:
 - name: Drop test view
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_query:
     login_user: "{{ pg_user }}"
@@ -289,7 +289,7 @@
     query: "DROP VIEW test_view"
 
 - name: Drop test table
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_table:
     login_user: "{{ pg_user }}"
@@ -303,17 +303,17 @@
 
 # Foreign data wrapper setup
 - name: Create foreign data wrapper extension
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   shell: echo "CREATE EXTENSION postgres_fdw" | psql -d "{{ db_name }}"
 
 - name: Create dummy foreign data wrapper
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   shell: echo "CREATE FOREIGN DATA WRAPPER dummy" | psql -d "{{ db_name }}"
 
 - name: Create foreign server
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   shell: echo "CREATE SERVER dummy_server FOREIGN DATA WRAPPER dummy" | psql -d "{{ db_name }}"
 
@@ -327,9 +327,9 @@
     objs: dummy
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
-    trust_input: no
+    trust_input: false
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 # Checks
 - assert:
@@ -337,7 +337,7 @@
       - result is changed
 
 - name: Get foreign data wrapper privileges
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   shell: echo "{{ fdw_query }}" | psql -d "{{ db_name }}"
   vars:
@@ -361,9 +361,9 @@
     objs: dummy
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
-    trust_input: no
+    trust_input: false
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 # Checks
 - assert:
@@ -380,9 +380,9 @@
     objs: dummy
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
-    trust_input: no
+    trust_input: false
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 # Checks
 - assert:
@@ -390,7 +390,7 @@
       - result is changed
 
 - name: Get foreign data wrapper privileges
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   shell: echo "{{ fdw_query }}" | psql -d "{{ db_name }}"
   vars:
@@ -414,9 +414,9 @@
     objs: dummy
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
-    trust_input: no
+    trust_input: false
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 # Checks
 - assert:
@@ -433,9 +433,9 @@
     objs: dummy_server
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
-    trust_input: no
+    trust_input: false
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 # Checks
 - assert:
@@ -443,7 +443,7 @@
       - result is changed
 
 - name: Get foreign server privileges
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   shell: echo "{{ fdw_query }}" | psql -d "{{ db_name }}"
   vars:
@@ -467,9 +467,9 @@
     objs: dummy_server
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
-    trust_input: no
+    trust_input: false
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 # Checks
 - assert:
@@ -486,9 +486,9 @@
     objs: dummy_server
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
-    trust_input: no
+    trust_input: false
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 # Checks
 - assert:
@@ -496,7 +496,7 @@
       - result is changed
 
 - name: Get foreign server privileges
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   shell: echo "{{ fdw_query }}" | psql -d "{{ db_name }}"
   vars:
@@ -520,9 +520,9 @@
     objs: dummy_server
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
-    trust_input: no
+    trust_input: false
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 # Checks
 - assert:
@@ -531,17 +531,17 @@
 
 # Foreign data wrapper cleanup
 - name: Drop foreign server
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   shell: echo "DROP SERVER dummy_server" | psql -d "{{ db_name }}"
 
 - name: Drop dummy foreign data wrapper
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   shell: echo "DROP FOREIGN DATA WRAPPER dummy" | psql -d "{{ db_name }}"
 
 - name: Drop foreign data wrapper extension
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   shell: echo "DROP EXTENSION postgres_fdw" | psql -d "{{ db_name }}"
 
@@ -569,16 +569,16 @@
     db: "{{ db_name }}"
     login_user: "{{ db_user3 }}"
     login_password: password
-    trust_input: no
+    trust_input: false
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 # Checks
 - assert:
     that: result is changed
 
 - name: Check that all functions have execute privileges
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   shell: psql {{ db_name }} -c "SELECT proacl FROM pg_proc WHERE proname = 'a'" -t
   register: result
@@ -598,9 +598,9 @@
     db: "{{ db_name }}"
     login_user: "{{ db_user3 }}"
     login_password: password
-    trust_input: no
+    trust_input: false
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 # Checks
 - assert:
@@ -618,9 +618,9 @@
     db: "{{ db_name }}"
     login_user: "{{ db_user3 }}"
     login_password: password
-    trust_input: no
+    trust_input: false
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 # Checks
 - assert:
@@ -638,9 +638,9 @@
     db: "{{ db_name }}"
     login_user: "{{ db_user3 }}"
     login_password: password
-    trust_input: no
+    trust_input: false
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 - assert:
     that: result is not changed
@@ -855,11 +855,11 @@
     db: "{{ db_name }}"
     login_user: "{{ db_user3 }}"
     login_password: password
-    trust_input: no
+    trust_input: false
   register: result
-  ignore_errors: yes
+  ignore_errors: true
   when: postgres_version_resp.stdout is version('10', '>=')
-  check_mode: yes
+  check_mode: true
 
 # Checks
 - name: Check that all partitioned tables don't have select privileges after the check mode task
@@ -870,7 +870,7 @@
     login_password: password
     named_args:
         grantuser: '{{ db_user2 }}'
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   register: result
   when: postgres_version_resp.stdout is version('10', '>=')
@@ -890,9 +890,9 @@
     db: "{{ db_name }}"
     roles: "{{ db_user2 }}"
     login_user: "{{ pg_user }}"
-    grant_option: yes
+    grant_option: true
     state: present
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   register: result
 
@@ -906,7 +906,7 @@
     db: "{{ db_name }}"
     login_user: "{{ db_user2 }}"
     login_password: password
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   register: result
 
@@ -924,7 +924,7 @@
     roles: "{{ db_user2 }}"
     login_user: "{{ pg_user }}"
     state: present
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   register: result
 
@@ -938,7 +938,7 @@
     db: "{{ db_name }}"
     login_user: "{{ db_user2 }}"
     login_password: password
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   register: result
 
@@ -955,9 +955,9 @@
     db: "{{ db_name }}"
     roles: "{{ db_user2 }}"
     login_user: "{{ pg_user }}"
-    grant_option: no
+    grant_option: false
     state: present
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   register: result
 
@@ -971,7 +971,7 @@
     db: "{{ db_name }}"
     login_user: "{{ db_user2 }}"
     login_password: password
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   register: result
 
@@ -989,7 +989,7 @@
     roles: "{{ db_user2 }}"
     login_user: "{{ pg_user }}"
     state: absent
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   register: result
 
@@ -1003,7 +1003,7 @@
     db: "{{ db_name }}"
     login_user: "{{ db_user2 }}"
     login_password: password
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   register: result
 
@@ -1022,9 +1022,9 @@
     db: "{{ db_name }}"
     login_user: "{{ db_user3 }}"
     login_password: password
-    trust_input: no
+    trust_input: false
   register: result
-  ignore_errors: yes
+  ignore_errors: true
   when: postgres_version_resp.stdout is version('10', '>=')
 
 # Checks
@@ -1040,7 +1040,7 @@
     login_password: password
     named_args:
         grantuser: '{{ db_user2 }}'
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   register: result
   when: postgres_version_resp.stdout is version('10', '>=')
@@ -1062,9 +1062,9 @@
     db: "{{ db_name }}"
     login_user: "{{ db_user3 }}"
     login_password: password
-    trust_input: no
+    trust_input: false
   register: result
-  ignore_errors: yes
+  ignore_errors: true
   when: postgres_version_resp.stdout is version('10', '>=')
 
 # Checks
@@ -1084,9 +1084,9 @@
     db: "{{ db_name }}"
     login_user: "{{ db_user3 }}"
     login_password: password
-    trust_input: no
+    trust_input: false
   register: result
-  ignore_errors: yes
+  ignore_errors: true
   when: postgres_version_resp.stdout is version('10', '>=')
 
 # Checks
@@ -1102,7 +1102,7 @@
     login_password: password
     named_args:
         grantuser: '{{ db_user2 }}'
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   register: result
   when: postgres_version_resp.stdout is version('10', '>=')
@@ -1124,9 +1124,9 @@
     db: "{{ db_name }}"
     login_user: "{{ db_user3 }}"
     login_password: password
-    trust_input: no
+    trust_input: false
   register: result
-  ignore_errors: yes
+  ignore_errors: true
   when: postgres_version_resp.stdout is version('10', '>=')
 
 - assert:
@@ -1140,8 +1140,8 @@
     db: "{{ db_name }}"
     login_user: "{{ db_user3 }}"
     login_password: password
-    trust_input: no
-  ignore_errors: yes
+    trust_input: false
+  ignore_errors: true
   when: postgres_version_resp.stdout is version('10', '>=')
 
 ###########################################
@@ -1150,7 +1150,7 @@
 
 # Test
 - name: Grant type privileges
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_privs:
     state: present
@@ -1161,7 +1161,7 @@
     schema: pg_catalog
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
-    trust_input: no
+    trust_input: false
   register: result
   when: postgres_version_resp.stdout is version('10', '>=')
 
@@ -1172,7 +1172,7 @@
   when: postgres_version_resp.stdout is version('10', '>=')
 
 - name: Get type privileges
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_query:
     login_user: "{{ pg_user }}"
@@ -1187,7 +1187,7 @@
   when: postgres_version_resp.stdout is version('10', '>=')
 
 - name: Grant type privileges again using check_mode
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_privs:
     state: present
@@ -1198,9 +1198,9 @@
     schema: pg_catalog
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
-    trust_input: no
+    trust_input: false
   register: result
-  check_mode: yes
+  check_mode: true
   when: postgres_version_resp.stdout is version('10', '>=')
 
 # Checks
@@ -1210,7 +1210,7 @@
   when: postgres_version_resp.stdout is version('10', '>=')
 
 - name: Get type privileges
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_query:
     login_user: "{{ pg_user }}"
@@ -1225,7 +1225,7 @@
   when: postgres_version_resp.stdout is version('10', '>=')
 
 - name: Grant type privileges again
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_privs:
     state: present
@@ -1236,7 +1236,7 @@
     schema: pg_catalog
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
-    trust_input: no
+    trust_input: false
   register: result
   when: postgres_version_resp.stdout is version('10', '>=')
 
@@ -1247,7 +1247,7 @@
   when: postgres_version_resp.stdout is version('10', '>=')
 
 - name: Get type privileges
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_query:
     login_user: "{{ pg_user }}"
@@ -1262,7 +1262,7 @@
   when: postgres_version_resp.stdout is version('10', '>=')
 
 - name: Revoke type privileges in check_mode
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_privs:
     state: absent
@@ -1273,9 +1273,9 @@
     schema: pg_catalog
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
-    trust_input: no
+    trust_input: false
   register: result
-  check_mode: yes
+  check_mode: true
   when: postgres_version_resp.stdout is version('10', '>=')
 
 # Checks
@@ -1285,7 +1285,7 @@
   when: postgres_version_resp.stdout is version('10', '>=')
 
 - name: Get type privileges
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_query:
     login_user: "{{ pg_user }}"
@@ -1300,7 +1300,7 @@
   when: postgres_version_resp.stdout is version('10', '>=')
 
 - name: Revoke type privileges
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_privs:
     state: absent
@@ -1311,7 +1311,7 @@
     schema: pg_catalog
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
-    trust_input: no
+    trust_input: false
   register: result
   when: postgres_version_resp.stdout is version('10', '>=')
 
@@ -1322,7 +1322,7 @@
   when: postgres_version_resp.stdout is version('10', '>=')
 
 - name: Get type privileges
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_query:
     login_user: "{{ pg_user }}"
@@ -1338,7 +1338,7 @@
 
 # type with default schema (public):
 - name: Create custom type in schema public
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_query:
     login_user: "{{ pg_user }}"
@@ -1348,7 +1348,7 @@
 
 # Test
 - name: Grant type privileges with default schema
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_privs:
     state: present
@@ -1358,7 +1358,7 @@
     objs: compfoo
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
-    trust_input: no
+    trust_input: false
   register: result
   when: postgres_version_resp.stdout is version('10', '>=')
 
@@ -1369,7 +1369,7 @@
   when: postgres_version_resp.stdout is version('10', '>=')
 
 - name: Get type privileges
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_query:
     login_user: "{{ pg_user }}"
@@ -1388,7 +1388,7 @@
 ######################################################################
 # https://github.com/ansible-collections/community.general/issues/1058
 - name: Create user for test
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_user:
     login_user: "{{ pg_user }}"
@@ -1397,7 +1397,7 @@
     role_attr_flags: "NOLOGIN,NOSUPERUSER,INHERIT,NOCREATEDB,NOCREATEROLE,NOREPLICATION"
 
 - name: Test community.general/issue/1058 GRANT with hyphen
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_privs:
     login_user: "{{ pg_user }}"
@@ -1413,7 +1413,7 @@
     - result.queries == ["GRANT \"{{ pg_user }}\" TO \"test-role\";"]
 
 - name: Test community.general/issue/1058 REVOKE
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_privs:
     login_user: "{{ pg_user }}"
@@ -1430,7 +1430,7 @@
     - result.queries == ["REVOKE \"{{ pg_user }}\" FROM \"test-role\";"]
 
 - name: Test community.general/issue/1058 GRANT without hyphen
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_privs:
     login_user: "{{ pg_user }}"
@@ -1446,7 +1446,7 @@
     - result.queries == ["GRANT \"{{ pg_user }}\" TO \"{{ db_user3 }}\";"]
 
 - name: Test community.general/issue/1058 GRANT with hyphen as an object
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_privs:
     login_user: "{{ pg_user }}"
@@ -1462,7 +1462,7 @@
     - result.queries == ["GRANT \"test-role\",\"{{ db_user2 }}\" TO \"{{ db_user3 }}\";"]
 
 - name: Test community.general/issue/1058 GRANT with hyphen as an object
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_privs:
     login_user: "{{ pg_user }}"
@@ -1478,7 +1478,7 @@
 
 # Cleanup
 - name: Remove privs
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_privs:
     state: absent
@@ -1488,12 +1488,12 @@
     objs: compfoo
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
-    trust_input: no
+    trust_input: false
   when: postgres_version_resp.stdout is version('10', '>=')
 
 - name: Reassign ownership
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_owner:
     login_user: "{{ pg_user }}"
     db: "{{ db_name }}"
@@ -1504,7 +1504,7 @@
   - "{{ db_user3 }}"
 
 - name: Remove user given permissions
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_user:
     name: "{{ db_user2 }}"
@@ -1513,7 +1513,7 @@
     login_user: "{{ pg_user }}"
 
 - name: Remove user owner of objects
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_user:
     name: "{{ item }}"
@@ -1526,7 +1526,7 @@
 
 - name: Destroy DB
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_db:
     state: absent
     name: "{{ db_name }}"
diff --git a/tests/integration/targets/postgresql_privs/tasks/postgresql_privs_initial.yml b/tests/integration/targets/postgresql_privs/tasks/postgresql_privs_initial.yml
index 8aa6b409..814bc348 100644
--- a/tests/integration/targets/postgresql_privs/tasks/postgresql_privs_initial.yml
+++ b/tests/integration/targets/postgresql_privs/tasks/postgresql_privs_initial.yml
@@ -7,7 +7,7 @@
 #
 - name: Create db
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_db:
     name: "{{ db_name }}"
     state: "present"
@@ -15,11 +15,11 @@
 
 - name: Create some tables on the db
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   shell: echo "create table test_table1 (field text);" | psql {{ db_name }}
 
 - become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   shell: echo "create table test_table2 (field text);" | psql {{ db_name }}
 
 - vars:
@@ -27,10 +27,10 @@
   block:
     - name: Create a user with some permissions on the db
       become_user: "{{ pg_user }}"
-      become: yes
+      become: true
       postgresql_user:
         name: "{{ db_user1 }}"
-        encrypted: 'yes'
+        encrypted: 'true'
         password: "md5{{ (db_password ~ db_user1) | hash('md5')}}"
         db: "{{ db_name }}"
         priv: 'test_table1:INSERT,SELECT,UPDATE,DELETE,TRUNCATE,REFERENCES,TRIGGER/test_table2:INSERT/CREATE,CONNECT,TEMP'
@@ -40,19 +40,19 @@
 
 - name: Check that the user has the requested permissions (table1)
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   shell: echo "select privilege_type from information_schema.role_table_grants where grantee='{{ db_user1 }}' and table_name='test_table1';" | psql {{ db_name }}
   register: result_table1
 
 - name: Check that the user has the requested permissions (table2)
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   shell: echo "select privilege_type from information_schema.role_table_grants where grantee='{{ db_user1 }}' and table_name='test_table2';" | psql {{ db_name }}
   register: result_table2
 
 - name: Check that the user has the requested permissions (database)
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   shell: echo "select datacl from pg_database where datname='{{ db_name }}';" | psql {{ db_name }}
   register: result_database
 
@@ -73,10 +73,10 @@
 
 - name: Add another permission for the user
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_user:
     name: "{{ db_user1 }}"
-    encrypted: 'yes'
+    encrypted: 'true'
     password: "md55c8ccfd9d6711fc69a7eae647fc54f51"
     db: "{{ db_name }}"
     priv: 'test_table2:select'
@@ -90,7 +90,7 @@
 
 - name: Check that the user has the requested permissions (table2)
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   shell: echo "select privilege_type from information_schema.role_table_grants where grantee='{{ db_user1 }}' and table_name='test_table2';" | psql {{ db_name }}
   register: result_table2
 
@@ -107,7 +107,7 @@
 
 - name: Revoke a privilege
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_privs:
     type: "table"
     state: "absent"
@@ -116,7 +116,7 @@
     objs: "test_table2"
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
-    trust_input: no
+    trust_input: false
   register: result
 
 - name: Check that ansible reports it changed the user
@@ -126,7 +126,7 @@
 
 - name: Check that the user has the requested permissions (table2)
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   shell: echo "select privilege_type from information_schema.role_table_grants where grantee='{{ db_user1 }}' and table_name='test_table2';" | psql {{ db_name }}
   register: result_table2
 
@@ -137,7 +137,7 @@
 
 - name: Revoke many privileges on multiple tables
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_privs:
     state: "absent"
     roles: "{{ db_user1 }}"
@@ -145,7 +145,7 @@
     objs: "test_table2,test_table1"
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
-    trust_input: no
+    trust_input: false
   register: result
 
 - name: Check that ansible reports it changed the user
@@ -155,13 +155,13 @@
 
 - name: Check that permissions were revoked (table1)
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   shell: echo "select privilege_type from information_schema.role_table_grants where grantee='{{ db_user1 }}' and table_name='test_table1';" | psql {{ db_name }}
   register: result_table1
 
 - name: Check that permissions were revoked (table2)
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   shell: echo "select privilege_type from information_schema.role_table_grants where grantee='{{ db_user1 }}' and table_name='test_table2';" | psql {{ db_name }}
   register: result_table2
 
@@ -172,7 +172,7 @@
 
 - name: Revoke database privileges
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_privs:
     type: "database"
     state: "absent"
@@ -181,11 +181,11 @@
     objs: "{{ db_name }}"
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
-    trust_input: no
+    trust_input: false
 
 - name: Check that the user has the requested permissions (database)
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   shell: echo "select datacl from pg_database where datname='{{ db_name }}';" | psql {{ db_name }}
   register: result_database
 
@@ -196,7 +196,7 @@
 
 - name: Grant database privileges
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_privs:
     type: "database"
     state: "present"
@@ -205,7 +205,7 @@
     objs: "{{ db_name }}"
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
-    trust_input: no
+    trust_input: false
   register: result
 
 - name: Check that ansible reports it changed the user
@@ -215,7 +215,7 @@
 
 - name: Check that the user has the requested permissions (database)
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   shell: echo "select datacl from pg_database where datname='{{ db_name }}';" | psql {{ db_name }}
   register: result_database
 
@@ -226,7 +226,7 @@
 
 - name: Grant a single privilege on a table
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_privs:
     state: "present"
     roles: "{{ db_user1 }}"
@@ -234,11 +234,11 @@
     objs: "test_table1"
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
-    trust_input: no
+    trust_input: false
 
 - name: Check that permissions were added (table1)
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   shell: echo "select privilege_type from information_schema.role_table_grants where grantee='{{ db_user1 }}' and table_name='test_table1';" | psql {{ db_name }}
   register: result_table1
 
@@ -249,7 +249,7 @@
 
 - name: Grant many privileges on multiple tables
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_privs:
     state: "present"
     roles: "{{ db_user1 }}"
@@ -257,17 +257,17 @@
     objs: "test_table2,test_table1"
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
-    trust_input: no
+    trust_input: false
 
 - name: Check that permissions were added (table1)
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   shell: echo "select privilege_type from information_schema.role_table_grants where grantee='{{ db_user1 }}' and table_name='test_table1';" | psql {{ db_name }}
   register: result_table1
 
 - name: Check that permissions were added (table2)
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   shell: echo "select privilege_type from information_schema.role_table_grants where grantee='{{ db_user1 }}' and table_name='test_table2';" | psql {{ db_name }}
   register: result_table2
 
@@ -294,7 +294,7 @@
 # https://github.com/ansible/ansible/issues/63204
 - name: Create roles for further tests
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_user:
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
@@ -305,7 +305,7 @@
 
 - name: Pass role with dots in its name to roles parameter
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_privs:
     state: "present"
     roles: "{{ db_user_with_dots1 }}"
@@ -313,11 +313,11 @@
     objs: "test_table1"
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
-    trust_input: no
+    trust_input: false
 
 - name: Check that permissions were added (table1)
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
@@ -331,7 +331,7 @@
 # We don't need to check anything here, only that nothing failed
 - name: Pass role with dots in its name to target_roles parameter
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_privs:
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
@@ -341,12 +341,12 @@
     objs: TABLES
     type: default_privs
     target_roles: "{{ db_user_with_dots2 }}"
-    trust_input: no
+    trust_input: false
 
 # Bugfix for https://github.com/ansible-collections/community.general/issues/857
 - name: Test passing lowercase PUBLIC role
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_privs:
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
@@ -365,7 +365,7 @@
 #
 - name: Cleanup db
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_db:
     name: "{{ db_name }}"
     state: "absent"
@@ -373,7 +373,7 @@
 
 - name: Check that database was destroyed
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   shell: echo "select datname from pg_database where datname = '{{ db_name }}';" | psql -d postgres
   register: result
 
@@ -383,7 +383,7 @@
 
 - name: Cleanup test user
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_user:
     name: "{{ item }}"
     state: 'absent'
@@ -398,7 +398,7 @@
 
 - name: Check that they were removed
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   shell: echo "select * from pg_user where usename='{{ db_user1 }}';" | psql -d postgres
   register: result
 
diff --git a/tests/integration/targets/postgresql_privs/tasks/postgresql_privs_session_role.yml b/tests/integration/targets/postgresql_privs/tasks/postgresql_privs_session_role.yml
index 9a06c9d2..e0c083e9 100644
--- a/tests/integration/targets/postgresql_privs/tasks/postgresql_privs_session_role.yml
+++ b/tests/integration/targets/postgresql_privs/tasks/postgresql_privs_session_role.yml
@@ -1,5 +1,5 @@
 - name: Create a high privileged user
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_user:
     name: "{{ db_session_role1 }}"
@@ -10,7 +10,7 @@
     db: postgres
 
 - name: Create a low privileged user using the newly created user
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_user:
     name: "{{ db_session_role2 }}"
@@ -23,7 +23,7 @@
 
 - name: Create DB as session_role
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_db:
     state: present
     name: "{{ db_session_role1 }}"
@@ -33,12 +33,12 @@
 
 - name: Create table to be able to grant privileges
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   shell: echo "CREATE TABLE test(i int); CREATE TABLE test2(i int);" | psql -AtXq "{{ db_session_role1 }}"
 
 - name: Grant all privileges on test1 table to low privileged user
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_privs:
     db: "{{ db_session_role1 }}"
     type: table
@@ -46,11 +46,11 @@
     roles: "{{ db_session_role2 }}"
     login_user: "{{ pg_user }}"
     privs: select
-    admin_option: yes
+    admin_option: true
 
 - name: Verify admin option was successful for grants
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_privs:
     db: "{{ db_session_role1 }}"
     type: table
@@ -62,7 +62,7 @@
 
 - name: Verify no grants can be granted for test2 table
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_privs:
     db: "{{ db_session_role1 }}"
     type: table
@@ -71,7 +71,7 @@
     login_user: "{{ pg_user }}"
     privs: update
     session_role: "{{ db_session_role2 }}"
-  ignore_errors: yes
+  ignore_errors: true
   register: result
 
 - assert:
@@ -83,7 +83,7 @@
 
 - name: Verify trust_input parameter
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_privs:
     db: "{{ db_session_role1 }}"
     type: table
@@ -92,8 +92,8 @@
     login_user: "{{ pg_user }}"
     privs: update
     session_role: "{{ dangerous_name }}"
-    trust_input: no
-  ignore_errors: yes
+    trust_input: false
+  ignore_errors: true
   register: result
 
 - assert:
diff --git a/tests/integration/targets/postgresql_privs/tasks/test_target_role.yml b/tests/integration/targets/postgresql_privs/tasks/test_target_role.yml
index a1d2805a..42ece0ba 100644
--- a/tests/integration/targets/postgresql_privs/tasks/test_target_role.yml
+++ b/tests/integration/targets/postgresql_privs/tasks/test_target_role.yml
@@ -1,7 +1,7 @@
 # Setup
 - name: Create a test user
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_user:
     name: "{{ db_user1 }}"
     login_user: "{{ pg_user }}"
@@ -9,7 +9,7 @@
 
 - name: Create DB
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_db:
     state: present
     name: "{{ db_name }}"
@@ -20,7 +20,7 @@
   postgresql_user:
     name: "{{ db_user2 }}"
     state: present
-    encrypted: yes
+    encrypted: true
     password: password
     role_attr_flags: LOGIN
     db: "{{ db_name }}"
@@ -33,7 +33,7 @@
 # Test
 - name: Grant default privileges for new table objects
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_privs:
     db: "{{ db_name }}"
     objs: TABLES
@@ -49,7 +49,7 @@
     that: result is changed
 
 - name: Check that default privileges are set
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   shell: psql {{ db_name }} -c "SELECT defaclrole, defaclobjtype, defaclacl FROM pg_default_acl a JOIN pg_roles b ON a.defaclrole=b.oid;" -t
   register: result
@@ -60,7 +60,7 @@
 # Test
 - name: Revoke default privileges for new table objects
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_privs:
     db: "{{ db_name }}"
     state: absent
@@ -79,7 +79,7 @@
 # Cleanup
 - name: Remove user given permissions
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_user:
     name: "{{ db_user2 }}"
     state: absent
@@ -88,7 +88,7 @@
 
 - name: Remove user owner of objects
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_user:
     name: "{{ db_user3 }}"
     state: absent
@@ -97,7 +97,7 @@
 
 - name: Destroy DBs
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_db:
     state: absent
     name: "{{ item }}"
@@ -108,7 +108,7 @@
 
 - name: Remove test users
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_user:
     name: "{{ item }}"
     state: absent
diff --git a/tests/integration/targets/postgresql_publication/tasks/postgresql_publication_initial.yml b/tests/integration/targets/postgresql_publication/tasks/postgresql_publication_initial.yml
index 0300fc07..584a4848 100644
--- a/tests/integration/targets/postgresql_publication/tasks/postgresql_publication_initial.yml
+++ b/tests/integration/targets/postgresql_publication/tasks/postgresql_publication_initial.yml
@@ -13,7 +13,7 @@
     test_db: acme_db
     task_parameters: &task_parameters
       become_user: '{{ pg_user }}'
-      become: yes
+      become: true
       register: result
     pg_parameters: &pg_parameters
       login_user: '{{ pg_user }}'
@@ -64,8 +64,8 @@
     postgresql_publication: 
       <<: *pg_parameters
       name: '{{ test_pub }}'
-      trust_input: no
-    check_mode: yes
+      trust_input: false
+    check_mode: true
 
   - assert:
       that:
@@ -90,7 +90,7 @@
     postgresql_publication: 
       <<: *pg_parameters
       name: '{{ test_pub }}'
-      trust_input: no
+      trust_input: false
 
   - assert:
       that:
@@ -122,8 +122,8 @@
       <<: *pg_parameters
       name: '{{ test_pub }}'
       state: absent
-      trust_input: no
-    check_mode: yes
+      trust_input: false
+    check_mode: true
 
   - assert:
       that:
@@ -153,7 +153,7 @@
       <<: *pg_parameters
       name: '{{ test_pub }}'
       state: absent
-      cascade: yes
+      cascade: true
 
   - assert:
       that:
@@ -184,7 +184,7 @@
       - '{{ test_schema }}.{{ test_table2 }}'
       parameters:
         publish: 'insert'
-      trust_input: no
+      trust_input: false
 
   - assert:
       that:
@@ -238,8 +238,8 @@
       name: '{{ test_pub }}'
       session_role: '{{ dangerous_name }}'
       owner: '{{ dangerous_name }}'
-      trust_input: no
-    ignore_errors: yes
+      trust_input: false
+    ignore_errors: true
 
   - assert:
       that:
@@ -257,8 +257,8 @@
       - '{{ test_table1 }}'
       - '{{ test_schema }}.{{ test_table2 }}'
       - '{{ test_table3 }}'
-      trust_input: no
-    check_mode: yes
+      trust_input: false
+    check_mode: true
 
   - assert:
       that:
@@ -301,7 +301,7 @@
       - '{{ test_table1 }}'
       - '{{ test_schema }}.{{ test_table2 }}'
       - '{{ test_table3 }}'
-      trust_input: no
+      trust_input: false
 
   - assert:
       that:
@@ -343,8 +343,8 @@
       - '{{ test_schema }}.{{ test_table2 }}'
       parameters:
         publish: 'insert'
-      trust_input: no
-    check_mode: yes
+      trust_input: false
+    check_mode: true
 
   - assert:
       that:
@@ -385,7 +385,7 @@
       - '{{ test_schema }}.{{ test_table2 }}'
       parameters:
         publish: 'delete'
-      trust_input: no
+      trust_input: false
 
   - assert:
       that:
diff --git a/tests/integration/targets/postgresql_query/tasks/postgresql_query_initial.yml b/tests/integration/targets/postgresql_query/tasks/postgresql_query_initial.yml
deleted file mode 100644
index f5d0bd0c..00000000
--- a/tests/integration/targets/postgresql_query/tasks/postgresql_query_initial.yml
+++ /dev/null
@@ -1,608 +0,0 @@
-- name: postgresql_query - drop test table if exists
-  become_user: '{{ pg_user }}'
-  become: true
-  shell: psql postgres -U "{{ pg_user }}" -t -c "DROP TABLE IF EXISTS test_table;"
-  ignore_errors: true
-
-- name: postgresql_query - create test table called test_table
-  become_user: '{{ pg_user }}'
-  become: true
-  shell: psql postgres -U "{{ pg_user }}" -t -c "CREATE TABLE test_table (id int, story text);"
-  ignore_errors: true
-
-- name: postgresql_query - insert some data into test_table
-  become_user: '{{ pg_user }}'
-  become: true
-  shell: psql postgres -U "{{ pg_user }}" -t -c "INSERT INTO test_table (id, story) VALUES (1, 'first'), (2, 'second'), (3, 'third');"
-  ignore_errors: true
-
-- name: Copy script files
-  become: yes
-  copy:
-    src: '{{ item }}'
-    dest: '~{{ pg_user }}/{{ item }}'
-    owner: '{{ pg_user }}'
-    force: yes
-  loop:
-  - test0.sql
-  - test1.sql
-  register: sql_file_created
-  ignore_errors: yes
-
-- name: postgresql_query - analyze test_table
-  become_user: '{{ pg_user }}'
-  become: true
-  postgresql_query:
-    login_user: '{{ pg_user }}'
-    db: postgres
-    query: ANALYZE test_table
-  register: result
-  ignore_errors: true
-
-- assert:
-    that:
-    - result is changed
-    - result.query == 'ANALYZE test_table'
-    - result.query_list == ['ANALYZE test_table']
-    - result.rowcount == 0
-    - result.statusmessage == 'ANALYZE'
-    - result.query_result == {}
-    - result.query_all_results == [{}]
-
-- name: postgresql_query - run queries from SQL script
-  become_user: '{{ pg_user }}'
-  become: true
-  postgresql_query:
-    login_user: '{{ pg_user }}'
-    db: postgres
-    path_to_script: ~{{ pg_user }}/test0.sql
-    positional_args:
-    - 1
-    encoding: UTF-8
-    as_single_query: no
-  register: result
-  ignore_errors: true
-  when: sql_file_created
-
-- assert:
-    that:
-    - result is not changed
-    - result.query == "\n\nSELECT story FROM test_table\n  WHERE id = 1 OR story = 'Данные'"
-    - result.query_result[0].story == 'first'
-    - result.query_all_results[0][0].version is search('PostgreSQL')
-    - result.query_all_results[1][0].story == 'first'
-    - result.rowcount == 2
-    - result.statusmessage == 'SELECT 1' or result.statusmessage == 'SELECT'
-  when: sql_file_created
-
-- name: postgresql_query - simple select query to test_table
-  become_user: '{{ pg_user }}'
-  become: true
-  postgresql_query:
-    login_user: '{{ pg_user }}'
-    db: postgres
-    query: SELECT * FROM test_table
-  register: result
-  ignore_errors: true
-
-- assert:
-    that:
-    - result is not changed
-    - result.query == 'SELECT * FROM test_table'
-    - result.rowcount == 3
-    - result.statusmessage == 'SELECT 3' or result.statusmessage == 'SELECT'
-    - result.query_result[0].id == 1
-    - result.query_result[1].id == 2
-    - result.query_result[2].id == 3
-    - result.query_result[0].story == 'first'
-    - result.query_result[1].story == 'second'
-    - result.query_result[2].story == 'third'
-
-- name: postgresql_query - select query with named args
-  become_user: '{{ pg_user }}'
-  become: true
-  postgresql_query:
-    login_user: '{{ pg_user }}'
-    db: postgres
-    query: SELECT id FROM test_table WHERE id = %(id_val)s AND story = %(story_val)s
-    named_args:
-      id_val: 1
-      story_val: first
-  register: result
-  ignore_errors: true
-
-- assert:
-    that:
-    - result is not changed
-    - result.query == "SELECT id FROM test_table WHERE id = 1 AND story = 'first'" or result.query == "SELECT id FROM test_table WHERE id = 1 AND story = E'first'"
-    - result.rowcount == 1
-    - result.statusmessage == 'SELECT 1' or result.statusmessage == 'SELECT'
-    - result.query_result[0].id == 1
-
-- name: postgresql_query - select query with positional arguments
-  become_user: '{{ pg_user }}'
-  become: true
-  postgresql_query:
-    login_user: '{{ pg_user }}'
-    db: postgres
-    query: SELECT story FROM test_table WHERE id = %s AND story = %s
-    positional_args:
-    - 2
-    - second
-  register: result
-  ignore_errors: true
-
-- assert:
-    that:
-    - result is not changed
-    - result.query == "SELECT story FROM test_table WHERE id = 2 AND story = 'second'" or result.query == "SELECT story FROM test_table WHERE id = 2 AND story = E'second'"
-    - result.rowcount == 1
-    - result.statusmessage == 'SELECT 1' or result.statusmessage == 'SELECT'
-    - result.query_result[0].story == 'second'
-
-- name: postgresql_query - simple update query
-  become_user: '{{ pg_user }}'
-  become: true
-  postgresql_query:
-    login_user: '{{ pg_user }}'
-    db: postgres
-    query: UPDATE test_table SET story = 'new' WHERE id = 3
-  register: result
-  ignore_errors: true
-
-- assert:
-    that:
-    - result is changed
-    - result.query == "UPDATE test_table SET story = 'new' WHERE id = 3"
-    - result.rowcount == 1
-    - result.statusmessage == 'UPDATE 1'
-    - result.query_result == {}
-
-- name: check the previous update
-  become_user: '{{ pg_user }}'
-  become: true
-  postgresql_query:
-    login_user: '{{ pg_user }}'
-    db: postgres
-    query: SELECT * FROM test_table WHERE story = 'new' AND id = 3
-  register: result
-
-- assert:
-    that:
-    - result.rowcount == 1
-
-- name: postgresql_query - simple update query in check_mode
-  become_user: '{{ pg_user }}'
-  become: true
-  postgresql_query:
-    login_user: '{{ pg_user }}'
-    db: postgres
-    query: UPDATE test_table SET story = 'CHECK_MODE' WHERE id = 3
-  register: result
-  check_mode: true
-
-- assert:
-    that:
-    - result is changed
-    - result.query == "UPDATE test_table SET story = 'CHECK_MODE' WHERE id = 3"
-    - result.rowcount == 1
-    - result.statusmessage == 'UPDATE 1'
-    - result.query_result == {}
-
-- name: check the previous update that nothing has been changed
-  become_user: '{{ pg_user }}'
-  become: true
-  postgresql_query:
-    login_user: '{{ pg_user }}'
-    db: postgres
-    query: SELECT * FROM test_table WHERE story = 'CHECK_MODE' AND id = 3
-  register: result
-
-- assert:
-    that:
-    - result.rowcount == 0
-
-- name: postgresql_query - try to update not existing row
-  become_user: '{{ pg_user }}'
-  become: true
-  postgresql_query:
-    login_user: '{{ pg_user }}'
-    db: postgres
-    query: UPDATE test_table SET story = 'new' WHERE id = 100
-  register: result
-  ignore_errors: true
-
-- assert:
-    that:
-    - result is not changed
-    - result.query == "UPDATE test_table SET story = 'new' WHERE id = 100"
-    - result.rowcount == 0
-    - result.statusmessage == 'UPDATE 0'
-    - result.query_result == {}
-
-- name: postgresql_query - insert query
-  become_user: '{{ pg_user }}'
-  become: true
-  postgresql_query:
-    login_user: '{{ pg_user }}'
-    db: postgres
-    query: INSERT INTO test_table (id, story) VALUES (%s, %s)
-    positional_args:
-    - 4
-    - fourth
-  register: result
-  ignore_errors: true
-
-- assert:
-    that:
-    - result is changed
-    - result.query == "INSERT INTO test_table (id, story) VALUES (4, 'fourth')" or result.query == "INSERT INTO test_table (id, story) VALUES (4, E'fourth')"
-    - result.rowcount == 1
-    - result.statusmessage == 'INSERT 0 1'
-    - result.query_result == {}
-
-- name: postgresql_query - truncate test_table
-  become_user: '{{ pg_user }}'
-  become: true
-  postgresql_query:
-    login_user: '{{ pg_user }}'
-    db: postgres
-    query: TRUNCATE test_table
-  register: result
-  ignore_errors: true
-
-- assert:
-    that:
-    - result is changed
-    - result.query == "TRUNCATE test_table"
-    - result.rowcount == 0
-    - result.statusmessage == 'TRUNCATE TABLE'
-    - result.query_result == {}
-
-- name: postgresql_query - alter test_table
-  become_user: '{{ pg_user }}'
-  become: true
-  postgresql_query:
-    login_user: '{{ pg_user }}'
-    db: postgres
-    query: ALTER TABLE test_table ADD COLUMN foo int
-  register: result
-  ignore_errors: true
-
-- assert:
-    that:
-    - result is changed
-    - result.query == "ALTER TABLE test_table ADD COLUMN foo int"
-    - result.rowcount == 0
-    - result.statusmessage == 'ALTER TABLE'
-
-- name: postgresql_query - vacuum without autocommit must fail
-  become_user: '{{ pg_user }}'
-  become: true
-  postgresql_query:
-    login_user: '{{ pg_user }}'
-    db: postgres
-    query: VACUUM
-  register: result
-  ignore_errors: true
-
-- assert:
-    that:
-    - result.failed == true
-
-- name: postgresql_query - autocommit in check_mode must fail
-  become_user: '{{ pg_user }}'
-  become: true
-  postgresql_query:
-    login_user: '{{ pg_user }}'
-    db: postgres
-    query: VACUUM
-    autocommit: true
-  check_mode: true
-  register: result
-  ignore_errors: true
-
-- assert:
-    that:
-    - result.failed == true
-    - result.msg == "Using autocommit is mutually exclusive with check_mode"
-
-- name: postgresql_query - vacuum with autocommit
-  become_user: '{{ pg_user }}'
-  become: true
-  postgresql_query:
-    login_user: '{{ pg_user }}'
-    db: postgres
-    query: VACUUM
-    autocommit: true
-  register: result
-
-- assert:
-    that:
-    - result is changed
-    - result.query == "VACUUM"
-    - result.rowcount == 0
-    - result.statusmessage == 'VACUUM'
-    - result.query_result == {}
-
-- name: postgresql_query - create test table for issue 59955
-  become_user: '{{ pg_user }}'
-  become: true
-  postgresql_table:
-    login_user: '{{ pg_user }}'
-    login_db: postgres
-    name: test_array_table
-    columns:
-    - arr_col int[]
-  when: postgres_version_resp.stdout is version('9.4', '>=')
-
-- set_fact:
-    my_list:
-    - 1
-    - 2
-    - 3
-    my_arr: '{1, 2, 3}'
-  when: postgres_version_resp.stdout is version('9.4', '>=')
-
-- name: postgresql_query - insert array into test table by positional args
-  become_user: '{{ pg_user }}'
-  become: true
-  postgresql_query:
-    login_user: '{{ pg_user }}'
-    login_db: postgres
-    query: INSERT INTO test_array_table (arr_col) VALUES (%s)
-    positional_args:
-    - '{{ my_list }}'
-  register: result
-  when: postgres_version_resp.stdout is version('9.4', '>=')
-
-- assert:
-    that:
-    - result is changed
-    - result.query == "INSERT INTO test_array_table (arr_col) VALUES ('{1, 2, 3}')"
-  when: postgres_version_resp.stdout is version('9.4', '>=')
-
-- name: postgresql_query - select array from test table by passing positional_args
-  become_user: '{{ pg_user }}'
-  become: true
-  postgresql_query:
-    login_user: '{{ pg_user }}'
-    login_db: postgres
-    query: SELECT * FROM test_array_table WHERE arr_col = %s
-    positional_args:
-    - '{{ my_list }}'
-  register: result
-  when: postgres_version_resp.stdout is version('9.4', '>=')
-
-- assert:
-    that:
-    - result is not changed
-    - result.query == "SELECT * FROM test_array_table WHERE arr_col = '{1, 2, 3}'"
-    - result.rowcount == 1
-  when: postgres_version_resp.stdout is version('9.4', '>=')
-
-- name: postgresql_query - select array from test table by passing named_args
-  become_user: '{{ pg_user }}'
-  become: true
-  postgresql_query:
-    login_user: '{{ pg_user }}'
-    login_db: postgres
-    query: SELECT * FROM test_array_table WHERE arr_col = %(arr_val)s
-    named_args:
-      arr_val:
-      - '{{ my_list }}'
-  register: result
-  when: postgres_version_resp.stdout is version('9.4', '>=')
-
-- assert:
-    that:
-    - result is not changed
-    - result.query == "SELECT * FROM test_array_table WHERE arr_col = '{1, 2, 3}'"
-    - result.rowcount == 1
-  when: postgres_version_resp.stdout is version('9.4', '>=')
-
-- name: postgresql_query - select array from test table by passing positional_args as a string
-  become_user: '{{ pg_user }}'
-  become: true
-  postgresql_query:
-    login_user: '{{ pg_user }}'
-    login_db: postgres
-    query: SELECT * FROM test_array_table WHERE arr_col = %s
-    positional_args:
-    - '{{ my_arr|string }}'
-    trust_input: yes
-  register: result
-  when: postgres_version_resp.stdout is version('9.4', '>=')
-
-- assert:
-    that:
-    - result is not changed
-    - result.query == "SELECT * FROM test_array_table WHERE arr_col = '{1, 2, 3}'"
-    - result.rowcount == 1
-  when: postgres_version_resp.stdout is version('9.4', '>=')
-
-- name: postgresql_query - test trust_input parameter
-  become_user: '{{ pg_user }}'
-  become: true
-  postgresql_query:
-    login_user: '{{ pg_user }}'
-    login_db: postgres
-    session_role: 'curious.anonymous"; SELECT * FROM information_schema.tables; --'
-    query: SELECT version()
-    trust_input: no
-  ignore_errors: yes
-  register: result
-
-- assert:
-    that:
-    - result is failed
-    - result.msg is search('is potentially dangerous')
-
-- name: postgresql_query - clean up
-  become_user: '{{ pg_user }}'
-  become: true
-  postgresql_table:
-    login_user: '{{ pg_user }}'
-    login_db: postgres
-    name: test_array_table
-    state: absent
-  when: postgres_version_resp.stdout is version('9.4', '>=')
-
-#############################
-# Check search_path parameter
-
-- name: postgresql_set - create test schemas
-  become_user: '{{ pg_user }}'
-  become: true
-  postgresql_schema:
-    login_user: '{{ pg_user }}'
-    login_db: postgres
-    name: '{{ item }}'
-  loop:
-  - query_test1
-  - query_test2
-
-- name: postgresql_set - create test tables
-  become_user: '{{ pg_user }}'
-  become: true
-  postgresql_table:
-    login_user: '{{ pg_user }}'
-    login_db: postgres
-    name: '{{ item }}'
-    columns:
-    - id int
-  loop:
-  - 'query_test1.test1'
-  - 'query_test2.test2'
-
-- name: postgresql_query - insert data
-  become_user: '{{ pg_user }}'
-  become: true
-  postgresql_query:
-    login_user: '{{ pg_user }}'
-    login_db: postgres
-    query: 'INSERT INTO {{ item }} (id) VALUES (1)'
-    search_path:
-    - query_test1
-    - query_test2
-  loop:
-  - test1
-  - test2
-
-- name: postgresql_query - get data
-  become_user: '{{ pg_user }}'
-  become: true
-  postgresql_query:
-    login_user: '{{ pg_user }}'
-    login_db: postgres
-    query: 'SELECT id FROM test1'
-    search_path:
-    - query_test1
-    - query_test2
-  register: result
-
-- assert:
-    that:
-    - result.rowcount == 1
-
-- name: postgresql_query - get data, must fail
-  become_user: '{{ pg_user }}'
-  become: true
-  postgresql_query:
-    login_user: '{{ pg_user }}'
-    login_db: postgres
-    query: 'SELECT id FROM test1'
-  register: result
-  ignore_errors: yes
-
-- assert:
-    that:
-    - result is failed
-
-# Tests for the as_single_query option
-- name: Run queries from SQL script as a single query
-  become_user: '{{ pg_user }}'
-  become: true
-  postgresql_query:
-    login_user: '{{ pg_user }}'
-    db: postgres
-    path_to_script: ~{{ pg_user }}/test1.sql
-    positional_args:
-    - 1
-    encoding: UTF-8
-    as_single_query: yes
-  register: result
-
-- name: >
-    Must pass. Not changed because we can only
-    check statusmessage of the last query
-  assert:
-    that:
-    - result is not changed
-    - result.statusmessage == 'SELECT 1' or result.statusmessage == 'SELECT'
-    - result.query_list[0] == "CREATE FUNCTION add(integer, integer) RETURNS integer\n  AS 'select $1 + $2;'\n  LANGUAGE SQL\n  IMMUTABLE\n  RETURNS NULL ON NULL INPUT;\n\nSELECT story FROM test_table\n  WHERE id = %s OR story = 'Данные';\n\nSELECT version();\n"
-
-#############################################################################
-# Issue https://github.com/ansible-collections/community.postgresql/issues/45
-- name: Create table containing a decimal value
-  become_user: '{{ pg_user }}'
-  become: true
-  postgresql_query:
-    login_user: '{{ pg_user }}'
-    db: postgres
-    query: CREATE TABLE blabla (id int, num decimal)
-
-- name: Insert data
-  become_user: '{{ pg_user }}'
-  become: true
-  postgresql_query:
-    login_user: '{{ pg_user }}'
-    db: postgres
-    query: INSERT INTO blabla (id, num) VALUES (1, 1::decimal)
-
-- name: Get data
-  become_user: '{{ pg_user }}'
-  become: true
-  postgresql_query:
-    login_user: '{{ pg_user }}'
-    db: postgres
-    query: SELECT * FROM blabla
-  register: result
-
-- assert:
-    that:
-    - result.rowcount == 1
-
-#############################################################################
-# Issue https://github.com/ansible-collections/community.postgresql/issues/47
-- name: Get datetime.timedelta value
-  become_user: '{{ pg_user }}'
-  become: true
-  postgresql_query:
-    login_user: '{{ pg_user }}'
-    db: postgres
-    query: "SELECT EXTRACT(epoch from make_interval(secs => 3)) AS extract"
-  register: result
-  when: postgres_version_resp.stdout is version('10', '>=')
-
-- assert:
-    that:
-    - result.rowcount == 1
-    - result.query_result[0]["extract"] == 3 or result.query_result[0]["extract"] == 3.0
-  when: postgres_version_resp.stdout is version('10', '>=')
-
-- name: Get interval value
-  become_user: '{{ pg_user }}'
-  become: true
-  postgresql_query:
-    login_user: '{{ pg_user }}'
-    db: postgres
-    query: "SELECT make_interval(secs => 3)"
-  register: result
-  when: postgres_version_resp.stdout is version('10', '>=')
-
-- assert:
-    that:
-    - result.rowcount == 1
-    - result.query_result[0]["make_interval"] == "0:00:03"
-  when: postgres_version_resp.stdout is version('10', '>=')
diff --git a/tests/integration/targets/postgresql_schema/tasks/postgresql_schema_initial.yml b/tests/integration/targets/postgresql_schema/tasks/postgresql_schema_initial.yml
index 7d73ddb5..58832f04 100644
--- a/tests/integration/targets/postgresql_schema/tasks/postgresql_schema_initial.yml
+++ b/tests/integration/targets/postgresql_schema/tasks/postgresql_schema_initial.yml
@@ -5,7 +5,7 @@
   postgresql_user:
     name: "{{ item }}"
     state: present
-    encrypted: yes
+    encrypted: true
     password: password
     role_attr_flags: LOGIN
     db: postgres
@@ -16,7 +16,7 @@
 
 - name: Create DB
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_db:
     state: present
     name: "{{ db_name }}"
@@ -26,8 +26,8 @@
 # Test: CREATE SCHEMA in checkmode
 - name: Create a new schema with name "acme" in check_mode
   become_user: "{{ pg_user }}"
-  become: yes
-  check_mode: yes
+  become: true
+  check_mode: true
   postgresql_schema:
     database: "{{ db_name }}"
     name: acme
@@ -41,7 +41,7 @@
       - result.schema == 'acme'
 
 - name: Check that the new schema "acme" not exists
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_query:
     db: "{{ db_name }}"
@@ -56,12 +56,12 @@
 # Test: CREATE SCHEMA
 - name: Create a new schema with name "acme"
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_schema:
     database: "{{ db_name }}"
     name: acme
     login_user: "{{ pg_user }}"
-    trust_input: yes
+    trust_input: true
   register: result
 
 # Checks
@@ -72,7 +72,7 @@
       - result.queries == [ 'CREATE SCHEMA "acme"' ]
 
 - name: Check that the new schema "acme" exists
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_query:
     db: "{{ db_name }}"
@@ -87,8 +87,8 @@
 # Test: DROP SCHEMA in checkmode
 - name: Drop schema "acme" in check_mode
   become_user: "{{ pg_user }}"
-  become: yes
-  check_mode: yes
+  become: true
+  check_mode: true
   postgresql_schema:
     database: "{{ db_name }}"
     name: acme
@@ -102,7 +102,7 @@
       - result is not changed
 
 - name: Check that the new schema "acme" still exists
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_query:
     db: "{{ db_name }}"
@@ -117,7 +117,7 @@
 # Test: DROP SCHEMA
 - name: Drop schema "acme"
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_schema:
     database: "{{ db_name }}"
     name: acme
@@ -132,14 +132,14 @@
       - result.queries == [ 'DROP SCHEMA "acme"' ]
 
 - name: Check that no schema "acme" exists
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_query:
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
     query: "SELECT schema_name FROM information_schema.schemata WHERE schema_name = 'acme'"
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 - assert:
     that:
@@ -148,15 +148,15 @@
 # Test: trust_input parameter
 - name: Create a new schema with potentially dangerous owner name
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_schema:
     database: "{{ db_name }}"
     name: acme
     login_user: "{{ pg_user }}"
     owner: "{{ dangerous_name }}"
-    trust_input: no
+    trust_input: false
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 # Checks
 - assert:
@@ -167,7 +167,7 @@
 # Test: CREATE SCHEMA; WITH TABLE for DROP CASCADE test
 - name: Create a new schema "acme"
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_schema:
     database: "{{ db_name }}"
     name: acme
@@ -176,7 +176,7 @@
 
 - name: Create table in schema for DROP CASCADE check
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
@@ -193,7 +193,7 @@
       - result2.statusmessage == 'CREATE TABLE'
 
 - name: Check that the new schema "acme" exists
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_query:
     db: "{{ db_name }}"
@@ -206,7 +206,7 @@
       - result.rowcount == 1
 
 - name: Check that the new table "table1" in schema 'acme' exists
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_query:
     db: "{{ db_name }}"
@@ -221,12 +221,12 @@
 # Test: DROP SCHEMA ... CASCADE;
 - name: Drop schema "acme" with cascade
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_schema:
     database: "{{ db_name }}"
     name: acme
     state: absent
-    cascade_drop: yes
+    cascade_drop: true
     login_user: "{{ pg_user }}"
   register: result
 
@@ -237,14 +237,14 @@
       - result.queries == [ 'DROP SCHEMA "acme" CASCADE' ]
 
 - name: Check that no schema "acme" exists
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_query:
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
     query: "SELECT schema_name FROM information_schema.schemata WHERE schema_name = 'acme'"
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 - assert:
     that:
@@ -253,7 +253,7 @@
 # Test: CREATE SCHEMA WITH OWNER ...;
 - name: Create a new schema "acme" with a user "{{ db_user2 }}" who will own it
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_schema:
     database: "{{ db_name }}"
     name: acme
@@ -269,14 +269,14 @@
       - result.queries == [ 'CREATE SCHEMA "acme" AUTHORIZATION "{{ db_user2 }}"' ]
 
 - name: Check that the new schema "acme" exists and "{{ db_user2 }}" own it
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_query:
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
     query: "SELECT schema_name,schema_owner FROM information_schema.schemata WHERE schema_name = 'acme' AND schema_owner = '{{ db_user2 }}'"
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 - assert:
     that:
@@ -285,7 +285,7 @@
 # Test: DROP SCHEMA
 - name: Drop schema "acme"
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_schema:
     database: "{{ db_name }}"
     name: acme
@@ -300,14 +300,14 @@
       - result.queries == [ 'DROP SCHEMA "acme"' ]
 
 - name: Check that no schema "acme" exists
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_query:
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
     query: "SELECT schema_name FROM information_schema.schemata WHERE schema_name = 'acme'"
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 - assert:
     that:
@@ -324,7 +324,7 @@
 
 - name: Destroy DB
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_db:
     state: absent
     name: "{{ db_name }}"
diff --git a/tests/integration/targets/postgresql_schema/tasks/postgresql_schema_session_role.yml b/tests/integration/targets/postgresql_schema/tasks/postgresql_schema_session_role.yml
index 6aaefff5..4b8af75f 100644
--- a/tests/integration/targets/postgresql_schema/tasks/postgresql_schema_session_role.yml
+++ b/tests/integration/targets/postgresql_schema/tasks/postgresql_schema_session_role.yml
@@ -1,5 +1,5 @@
 - name: Create a high privileged user
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_user:
     name: "{{ db_session_role1 }}"
@@ -11,7 +11,7 @@
 
 - name: Create DB as session_role
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_db:
     state: present
     name: "{{ db_session_role1 }}"
@@ -21,7 +21,7 @@
 
 - name: Create schema in own database
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_schema:
     database: "{{ db_session_role1 }}"
     login_user: "{{ pg_user }}"
@@ -30,7 +30,7 @@
 
 - name: Create schema in own database, should be owned by session_role
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_schema:
     database: "{{ db_session_role1 }}"
     login_user: "{{ pg_user }}"
@@ -44,13 +44,13 @@
 
 - name: Fail when creating schema in postgres database as a regular user
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_schema:
     database: postgres
     login_user: "{{ pg_user }}"
     name: "{{ db_session_role1 }}"
     session_role: "{{ db_session_role1 }}"
-  ignore_errors: yes
+  ignore_errors: true
   register: result
 
 - assert:
@@ -59,14 +59,14 @@
 
 - name: Drop test db
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_db:
     state: absent
     name: "{{ db_session_role1 }}"
     login_user: "{{ pg_user }}"
 
 - name: Drop test users
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_user:
     name: "{{ item }}"
diff --git a/tests/integration/targets/postgresql_sequence/tasks/postgresql_sequence_initial.yml b/tests/integration/targets/postgresql_sequence/tasks/postgresql_sequence_initial.yml
index f3672f26..c498033b 100644
--- a/tests/integration/targets/postgresql_sequence/tasks/postgresql_sequence_initial.yml
+++ b/tests/integration/targets/postgresql_sequence/tasks/postgresql_sequence_initial.yml
@@ -5,11 +5,11 @@
 # Preparation for tests.
 - name: postgresql_sequence - create a user to be owner of a database
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_user:
     name: "{{ db_user1 }}"
     state: present
-    encrypted: yes
+    encrypted: true
     password: password
     role_attr_flags: LOGIN
     db: "{{ db_default }}"
@@ -17,7 +17,7 @@
 
 - name: postgresql_sequence - create DB
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_db:
     state: present
     name: "{{ db_name }}"
@@ -26,11 +26,11 @@
 
 - name: Create a user to be owner of a sequence
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_user:
     name: "{{ db_user2 }}"
     state: present
-    encrypted: yes
+    encrypted: true
     password: password
     role_attr_flags: LOGIN
     db: "{{ db_name }}"
@@ -38,7 +38,7 @@
 
 - name: postgresql_sequence - create a schema
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_schema:
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
@@ -48,8 +48,8 @@
 # Test: create sequence in checkmode
 - name: postgresql_sequence - create a new sequence with name "foobar" in check_mode
   become_user: "{{ pg_user }}"
-  become: yes
-  check_mode: yes
+  become: true
+  check_mode: true
   postgresql_sequence:
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
@@ -66,7 +66,7 @@
 
 # Real SQL check
 - name: postgresql_sequence - check that the new sequence "foobar" not exists
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_query:
     db: "{{ db_name }}"
@@ -84,7 +84,7 @@
 # Test: create sequence
 - name: postgresql_sequence - create a new sequence with name "foobar"
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_sequence:
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
@@ -102,7 +102,7 @@
 # Real SQL check
 - name: postgresql_sequence - check that the new sequence "foobar" exists
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
@@ -118,8 +118,8 @@
 # Test: drop sequence in checkmode
 - name: postgresql_sequence - drop a sequence called foobar
   become_user: "{{ pg_user }}"
-  become: yes
-  check_mode: yes
+  become: true
+  check_mode: true
   postgresql_sequence:
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
@@ -138,7 +138,7 @@
 # Real SQL check
 - name: postgresql_sequence - check that the sequence "foobar" still exists
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
@@ -154,7 +154,7 @@
 # Test: drop sequence
 - name: postgresql_sequence - drop a sequence called foobar
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_sequence:
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
@@ -173,7 +173,7 @@
 # Real SQL check
 - name: postgresql_sequence - check that the sequence "foobar" not exists
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
@@ -189,7 +189,7 @@
 # Test: drop nonexistent sequence
 - name: postgresql_sequence - drop a sequence called foobar which does not exists
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_sequence:
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
@@ -208,7 +208,7 @@
 # Real SQL check
 - name: postgresql_sequence - check that the sequence "foobar" not exists
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
@@ -224,7 +224,7 @@
 # Test: create sequence with options
 - name: postgresql_sequence - create an descending sequence called foobar_desc, starting at 101 and which cycle between 1 to 1000
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_sequence:
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
@@ -233,7 +233,7 @@
     start: 101
     minvalue: 1
     maxvalue: 1000
-    cycle: yes
+    cycle: true
   register: result
 
 # Checks
@@ -265,8 +265,8 @@
 # Test: rename a sequence in checkmode
 - name: postgresql_sequence - rename an existing sequence named foobar_desc to foobar_with_options
   become_user: "{{ pg_user }}"
-  become: yes
-  check_mode: yes
+  become: true
+  check_mode: true
   postgresql_sequence:
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
@@ -286,7 +286,7 @@
 # Real SQL check
 - name: postgresql_sequence - check that the sequence "foobar_desc" still exists and is not renamed
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
@@ -302,7 +302,7 @@
 # Test: rename a sequence
 - name: postgresql_sequence - rename an existing sequence named foobar_desc to foobar_with_options
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_sequence:
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
@@ -322,7 +322,7 @@
 # Real SQL check
 - name: postgresql_sequence - check that the renamed sequence "foobar_with_options" exists
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
@@ -338,8 +338,8 @@
 # Test: change schema of a sequence in checkmode
 - name: postgresql_sequence - change schema of an existing sequence from public to foobar_schema
   become_user: "{{ pg_user }}"
-  become: yes
-  check_mode: yes
+  become: true
+  check_mode: true
   postgresql_sequence:
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
@@ -360,7 +360,7 @@
 # Real SQL check
 - name: postgresql_sequence - check that the sequence "foobar_with_options" still exists in the old schema
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
@@ -376,7 +376,7 @@
 # Test: change schema of a sequence
 - name: postgresql_sequence - change schema of an existing sequence from public to foobar_schema
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_sequence:
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
@@ -397,7 +397,7 @@
 # Real SQL check
 - name: postgresql_sequence - check that the sequence "foobar_with_options" exists in new schema
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
@@ -413,8 +413,8 @@
 # Test: change owner of a sequence in checkmode
 - name: postgresql_sequence - change owner of an existing sequence from "{{ pg_user }}" to "{{ db_user1 }}"
   become_user: "{{ pg_user }}"
-  become: yes
-  check_mode: yes
+  become: true
+  check_mode: true
   postgresql_sequence:
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
@@ -435,7 +435,7 @@
 # Real SQL check
 - name: postgresql_sequence - check that the sequence "foobar_with_options" has still the old owner
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
@@ -458,7 +458,7 @@
 # Test: change owner of a sequence
 - name: postgresql_sequence - change owner of an existing sequence from "{{ pg_user }}" to "{{ db_user1 }}"
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_sequence:
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
@@ -479,7 +479,7 @@
 # Real SQL check
 - name: postgresql_sequence - check that the sequence "foobar_with_options" has a new owner
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
@@ -506,7 +506,7 @@
 # DROP SEQUENCE seq1 CASCADE;
 - name: postgresql_sequence - create sequence for drop cascade test
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_sequence:
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
@@ -514,7 +514,7 @@
 
 - name: postgresql_sequence - create table which use sequence for drop cascade test
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_table:
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
@@ -526,14 +526,14 @@
 # Test: drop sequence with cascade in checkmode
 - name: postgresql_sequence - drop with cascade a sequence called seq1
   become_user: "{{ pg_user }}"
-  become: yes
-  check_mode: yes
+  become: true
+  check_mode: true
   postgresql_sequence:
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
     name: seq1
     state: absent
-    cascade: yes
+    cascade: true
   register: result
 
 # Checks
@@ -547,7 +547,7 @@
 # Real SQL check
 - name: postgresql_sequence - check that the sequence "seq1" still exists
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
@@ -563,13 +563,13 @@
 # Test: drop sequence with cascade
 - name: postgresql_sequence - drop with cascade a sequence called seq1
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_sequence:
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
     name: seq1
     state: absent
-    cascade: yes
+    cascade: true
   register: result
 
 # Checks
@@ -583,7 +583,7 @@
 # Real SQL check
 - name: postgresql_sequence - check that the sequence "seq1" not exists
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
@@ -599,8 +599,8 @@
 # Test: create sequence with owner in checkmode
 - name: postgresql_sequence - create a new sequence with name "foobar2" with owner "{{ db_user2 }}"
   become_user: "{{ pg_user }}"
-  become: yes
-  check_mode: yes
+  become: true
+  check_mode: true
   postgresql_sequence:
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
@@ -619,7 +619,7 @@
 # Real SQL check
 - name: postgresql_sequence - check that the new sequence "foobar2" does not exists
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
@@ -635,7 +635,7 @@
 # Test: create sequence with owner
 - name: postgresql_sequence - create a new sequence with name "foobar2" with owner "{{ db_user2 }}"
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_sequence:
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
@@ -654,7 +654,7 @@
 # Real SQL check
 - name: postgresql_sequence - check that the new sequence "foobar2" exists
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
@@ -668,7 +668,7 @@
 
 - name: postgresql_sequence - check that the sequence "foobar2" has owner "{{ db_user2 }}"
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
@@ -691,14 +691,14 @@
 # Test: create sequence with trust_input
 - name: postgresql_sequence - check that trust_input works as expected
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_sequence:
     db: "{{ db_name }}"
     login_user: "{{ pg_user }}"
     name: 'just_a_name"; SELECT * FROM information_schema.tables; --'
-    trust_input: no
+    trust_input: false
     owner: "{{ db_user2 }}"
-  ignore_errors: yes
+  ignore_errors: true
   register: result
 
 # Checks
@@ -711,7 +711,7 @@
 # Cleanup
 - name: postgresql_sequence - destroy DB
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_db:
     state: absent
     name: "{{ db_name }}"
@@ -719,7 +719,7 @@
 
 - name: remove test roles
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_user:
     state: absent
     login_db: "{{ db_default }}"
diff --git a/tests/integration/targets/postgresql_set/tasks/options_coverage.yml b/tests/integration/targets/postgresql_set/tasks/options_coverage.yml
index acb940e5..ad666b07 100644
--- a/tests/integration/targets/postgresql_set/tasks/options_coverage.yml
+++ b/tests/integration/targets/postgresql_set/tasks/options_coverage.yml
@@ -5,7 +5,7 @@
 - vars:
     task_parameters: &task_parameters
       become_user: '{{ pg_user }}'
-      become: yes
+      become: true
     pg_parameters: &pg_parameters
       login_user: '{{ pg_user }}'
       login_db: postgres
@@ -37,7 +37,7 @@
       <<: *pg_parameters
       name: '{{ item.key }}'
       value: '{{ item.value }}'
-    check_mode: yes
+    check_mode: true
     with_dict: '{{ setting_map }}'
 
   # Actual mode:
diff --git a/tests/integration/targets/postgresql_set/tasks/postgresql_set_initial.yml b/tests/integration/targets/postgresql_set/tasks/postgresql_set_initial.yml
index 125e1dab..ddff916a 100644
--- a/tests/integration/targets/postgresql_set/tasks/postgresql_set_initial.yml
+++ b/tests/integration/targets/postgresql_set/tasks/postgresql_set_initial.yml
@@ -10,7 +10,7 @@
 - vars:
     task_parameters: &task_parameters
       become_user: '{{ pg_user }}'
-      become: yes
+      become: true
     pg_parameters: &pg_parameters
       login_user: '{{ pg_user }}'
       login_db: postgres
@@ -19,11 +19,11 @@
   - name: postgresql_set - preparation to the next step
     <<: *task_parameters
     become_user: "{{ pg_user }}"
-    become: yes
+    become: true
     postgresql_set:
       <<: *pg_parameters
       name: work_mem
-      reset: yes
+      reset: true
 
   #####################
   # Testing check_mode:
@@ -41,7 +41,7 @@
       name: work_mem
       value: 12MB
     register: set_wm
-    check_mode: yes
+    check_mode: true
 
   - assert:
       that:
@@ -100,7 +100,7 @@
     postgresql_set:
       <<: *pg_parameters
       name: work_mem
-      reset: yes
+      reset: true
     register: reset_wm
 
   - assert:
@@ -129,7 +129,7 @@
     postgresql_set:
       <<: *pg_parameters
       name: work_mem
-      reset: yes
+      reset: true
     register: reset_wm2
 
   - assert:
@@ -226,7 +226,7 @@
       name: autovacuum
       value: on
     register: set_aut
-    check_mode: yes
+    check_mode: true
 
   - assert:
       that:
@@ -243,7 +243,7 @@
       name: autovacuum
       value: off
     register: set_aut
-    check_mode: yes
+    check_mode: true
 
   - assert:
       that:
@@ -265,7 +265,7 @@
       - result.query_result[0].autovacuum == 'off'
 
   # Test check_mode, step 3. It is different from
-  # the prev test - it runs without check_mode: yes.
+  # the prev test - it runs without check_mode: true.
   # Before the check_mode tests autovacuum was off
   - name: postgresql - check that autovacuum wasn't actually changed after change in check_mode
     <<: *task_parameters
@@ -288,7 +288,7 @@
     <<: *task_parameters
     postgresql_set:
       <<: *pg_parameters
-      trust_input: yes
+      trust_input: true
       name: archive_command
       value: 'test ! -f /mnt/postgres/mb/%f && cp %p /mnt/postgres/mb/%f'
 
@@ -312,10 +312,10 @@
       <<: *pg_parameters
       name: shared_buffers
       value: 111MB
-      trust_input: no
+      trust_input: false
       session_role: 'curious.anonymous"; SELECT * FROM information_schema.tables; --'
     register: result
-    ignore_errors: yes
+    ignore_errors: true
 
   - assert:
       that:
@@ -332,7 +332,7 @@
       value: 'on'
 
   - name: Restart PostgreSQL
-    become: yes
+    become: true
     service:
       name: "{{ postgresql_service }}"
       state: restarted
@@ -368,7 +368,7 @@
       name: archive_command
       value: ''
     register: result
-    check_mode: yes
+    check_mode: true
 
   - assert:
       that:
@@ -381,7 +381,7 @@
       name: Timezone
       value: utc
     register: result
-    ignore_errors: yes
+    ignore_errors: true
 
   - assert:
       that:
@@ -397,7 +397,7 @@
       name: archive_command
       value: '/usr/bin/touch %f'
     register: result
-    check_mode: yes
+    check_mode: true
 
   - assert:
       that:
@@ -422,7 +422,7 @@
       name: track_activity_query_size
       value: '4096B'
     register: result
-    check_mode: yes
+    check_mode: true
 
   - assert:
       that:
@@ -435,7 +435,7 @@
       name: track_activity_query_size
       value: '2048b'
     register: result
-    check_mode: yes
+    check_mode: true
 
   - assert:
       that:
diff --git a/tests/integration/targets/postgresql_slot/tasks/postgresql_slot_initial.yml b/tests/integration/targets/postgresql_slot/tasks/postgresql_slot_initial.yml
index 4f009ac0..23a1cfb0 100644
--- a/tests/integration/targets/postgresql_slot/tasks/postgresql_slot_initial.yml
+++ b/tests/integration/targets/postgresql_slot/tasks/postgresql_slot_initial.yml
@@ -4,7 +4,7 @@
 
 - name: postgresql_slot - set max_replication_slots
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_set:
     login_user: "{{ pg_user }}"
     db: postgres
@@ -13,7 +13,7 @@
 
 - name: postgresql_slot - set wal_level to logical
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_set:
     login_user: "{{ pg_user }}"
     db: postgres
@@ -23,12 +23,12 @@
 # To avoid CI timeouts
 - name: Kill all postgres processes
   shell: 'pkill -u {{ pg_user }}'
-  become: yes
+  become: true
   when: ansible_facts.distribution == 'CentOS' and ansible_facts.distribution_major_version == '8'
-  ignore_errors: yes
+  ignore_errors: true
 
 - name: postgresql_slot - stop PostgreSQL
-  become: yes
+  become: true
   service:
     name: "{{ postgresql_service }}"
     state: stopped
@@ -39,7 +39,7 @@
     seconds: 5
 
 - name: postgresql_slot - start PostgreSQL
-  become: yes
+  become: true
   service:
     name: "{{ postgresql_service }}"
     state: started
@@ -51,12 +51,12 @@
 # check_mode
 - name: postgresql_slot - create slot in check_mode
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_slot:
     login_user: "{{ pg_user }}"
     db: postgres
     name: slot0
-  check_mode: yes
+  check_mode: true
   register: result
 
 - assert:
@@ -67,12 +67,12 @@
 # Check, rowcount must be 0
 - name: postgresql_slot - check that nothing changed after the previous step
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
     query: "SELECT 1 FROM pg_replication_slots WHERE slot_name = 'slot0'"
-  ignore_errors: yes
+  ignore_errors: true
   register: result
 
 - assert:
@@ -82,7 +82,7 @@
 # true mode
 - name: postgresql_slot - create physical slot
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_slot:
     login_user: "{{ pg_user }}"
     db: postgres
@@ -104,12 +104,12 @@
 # Check, rowcount must be 1
 - name: postgresql_slot - check that the slot exists after the previous step
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
     query: "SELECT 1 FROM pg_replication_slots WHERE slot_name = 'slot0' and slot_type = 'physical'"
-  ignore_errors: yes
+  ignore_errors: true
   register: result
 
 - assert:
@@ -119,12 +119,12 @@
 # check mode
 - name: postgresql_slot - try create physical slot again in check_mode
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_slot:
     login_user: "{{ pg_user }}"
     db: postgres
     name: slot0
-  check_mode: yes
+  check_mode: true
   register: result
 
 - assert:
@@ -135,12 +135,12 @@
 # Check, rowcount must be 1
 - name: postgresql_slot - check that nothing changed after the previous step
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
     query: "SELECT 1 FROM pg_replication_slots WHERE slot_name = 'slot0' and slot_type = 'physical'"
-  ignore_errors: yes
+  ignore_errors: true
   register: result
 
 - assert:
@@ -150,7 +150,7 @@
 # true mode
 - name: postgresql_slot - try create physical slot again
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_slot:
     login_user: "{{ pg_user }}"
     db: postgres
@@ -166,12 +166,12 @@
 # Check, rowcount must be 1
 - name: postgresql_slot - check that nothing changed after the previous step
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
     query: "SELECT 1 FROM pg_replication_slots WHERE slot_name = 'slot0' and slot_type = 'physical'"
-  ignore_errors: yes
+  ignore_errors: true
   register: result
 
 - assert:
@@ -184,12 +184,12 @@
 
 - name: postgresql_slot - create physical slot with immediately_reserve
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_slot:
     login_user: "{{ pg_user }}"
     db: postgres
     name: slot1
-    immediately_reserve: yes
+    immediately_reserve: true
   register: result
   when: postgres_version_resp.stdout is version('9.6', '>=')
 
@@ -202,12 +202,12 @@
 # Check, rowcount must be 1
 - name: postgresql_slot - check that the slot exists after the previous step
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
     query: "SELECT 1 FROM pg_replication_slots WHERE slot_name = 'slot1' and slot_type = 'physical' and restart_lsn is not NULL"
-  ignore_errors: yes
+  ignore_errors: true
   register: result
   when: postgres_version_resp.stdout is version('9.6', '>=')
 
@@ -230,13 +230,13 @@
 # check_mode
 - name: postgresql_slot - create slot in check_mode
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_slot:
     login_user: "{{ pg_user }}"
     db: postgres
     name: slot2
     slot_type: logical
-  check_mode: yes
+  check_mode: true
   register: result
   when: postgres_version_resp.stdout is version('10', '>=') and ansible_distribution == 'Ubuntu'
 
@@ -249,12 +249,12 @@
 # Check, rowcount must be 0
 - name: postgresql_slot - check that nothing changed after the previous step
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
     query: "SELECT 1 FROM pg_replication_slots WHERE slot_name = 'slot2'"
-  ignore_errors: yes
+  ignore_errors: true
   register: result
   when: postgres_version_resp.stdout is version('10', '>=') and ansible_distribution == 'Ubuntu'
 
@@ -266,7 +266,7 @@
 # true mode
 - name: postgresql_slot - create logical slot
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_slot:
     login_user: "{{ pg_user }}"
     db: postgres
@@ -284,12 +284,12 @@
 # Check, rowcount must be 1
 - name: postgresql_slot - check that the slot exists after the previous step
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
     query: "SELECT 1 FROM pg_replication_slots WHERE slot_name = 'slot2' and slot_type = 'logical'"
-  ignore_errors: yes
+  ignore_errors: true
   register: result
   when: postgres_version_resp.stdout is version('10', '>=') and ansible_distribution == 'Ubuntu'
 
@@ -301,13 +301,13 @@
 # check mode
 - name: postgresql_slot - try create logical slot again in check_mode
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_slot:
     login_user: "{{ pg_user }}"
     db: postgres
     name: slot2
     slot_type: logical
-  check_mode: yes
+  check_mode: true
   register: result
   when: postgres_version_resp.stdout is version('10', '>=') and ansible_distribution == 'Ubuntu'
 
@@ -320,12 +320,12 @@
 # Check, rowcount must be 1
 - name: postgresql_slot - check that nothing changed after the previous step
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
     query: "SELECT 1 FROM pg_replication_slots WHERE slot_name = 'slot2' and slot_type = 'logical'"
-  ignore_errors: yes
+  ignore_errors: true
   register: result
   when: postgres_version_resp.stdout is version('10', '>=')
 
@@ -337,7 +337,7 @@
 # true mode
 - name: postgresql_slot - try create logical slot again
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_slot:
     login_user: "{{ pg_user }}"
     db: postgres
@@ -355,12 +355,12 @@
 # Check, rowcount must be 1
 - name: postgresql_slot - check that nothing changed after the previous step
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
     query: "SELECT 1 FROM pg_replication_slots WHERE slot_name = 'slot2' and slot_type = 'logical'"
-  ignore_errors: yes
+  ignore_errors: true
   register: result
   when: postgres_version_resp.stdout is version('10', '>=') and ansible_distribution == 'Ubuntu'
 
@@ -375,7 +375,7 @@
 
 - name: postgresql_slot - create logical slot with output_plugin
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_slot:
     login_user: "{{ pg_user }}"
     db: postgres
@@ -394,12 +394,12 @@
 # Check, rowcount must be 1
 - name: postgresql_slot - check that the slot exists after the previous step
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
     query: "SELECT 1 FROM pg_replication_slots WHERE slot_name = 'slot3' and slot_type = 'logical' and plugin = 'test_decoding'"
-  ignore_errors: yes
+  ignore_errors: true
   register: result
   when: postgres_version_resp.stdout is version('10', '>=') and ansible_distribution == 'Ubuntu'
 
@@ -415,13 +415,13 @@
 # check_mode
 - name: postgresql_slot - drop logical slot in check_mode
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_slot:
     login_user: "{{ pg_user }}"
     db: postgres
     name: slot2
     state: absent
-  check_mode: yes
+  check_mode: true
   register: result
   when: postgres_version_resp.stdout is version('10', '>=') and ansible_distribution == 'Ubuntu'
 
@@ -434,12 +434,12 @@
 # Check, rowcount must be 1
 - name: postgresql_slot - check that nothing changed after the previous step
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
     query: "SELECT 1 FROM pg_replication_slots WHERE slot_name = 'slot2'"
-  ignore_errors: yes
+  ignore_errors: true
   register: result
   when: postgres_version_resp.stdout is version('10', '>=') and ansible_distribution == 'Ubuntu'
 
@@ -451,7 +451,7 @@
 # true mode
 - name: postgresql_slot - drop logical slot
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_slot:
     login_user: "{{ pg_user }}"
     db: postgres
@@ -469,12 +469,12 @@
 # Check, rowcount must be 0
 - name: postgresql_slot - check that the slot does not exist after the previous step
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
     query: "SELECT 1 FROM pg_replication_slots WHERE slot_name = 'slot2' and slot_type = 'logical'"
-  ignore_errors: yes
+  ignore_errors: true
   register: result
   when: postgres_version_resp.stdout is version('10', '>=') and ansible_distribution == 'Ubuntu'
 
@@ -486,13 +486,13 @@
 # check mode
 - name: postgresql_slot - try drop logical slot again in check_mode
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_slot:
     login_user: "{{ pg_user }}"
     db: postgres
     name: slot2
     state: absent
-  check_mode: yes
+  check_mode: true
   register: result
   when: postgres_version_resp.stdout is version('10', '>=') and ansible_distribution == 'Ubuntu'
 
@@ -505,12 +505,12 @@
 # Check, rowcount must be 0
 - name: postgresql_slot - check that nothing changed after the previous step
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
     query: "SELECT 1 FROM pg_replication_slots WHERE slot_name = 'slot2' and slot_type = 'logical'"
-  ignore_errors: yes
+  ignore_errors: true
   register: result
   when: postgres_version_resp.stdout is version('10', '>=')
 
@@ -522,7 +522,7 @@
 # true mode
 - name: postgresql_slot - try drop logical slot again
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_slot:
     login_user: "{{ pg_user }}"
     db: postgres
@@ -540,12 +540,12 @@
 # Check, rowcount must be 0
 - name: postgresql_slot - check that nothing changed after the previous step
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
     query: "SELECT 1 FROM pg_replication_slots WHERE slot_name = 'slot2' and slot_type = 'logical'"
-  ignore_errors: yes
+  ignore_errors: true
   register: result
   when: postgres_version_resp.stdout is version('10', '>=') and ansible_distribution == 'Ubuntu'
 
@@ -561,13 +561,13 @@
 # check_mode
 - name: postgresql_slot - drop physical slot in check_mode
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_slot:
     login_user: "{{ pg_user }}"
     db: postgres
     name: slot1
     state: absent
-  check_mode: yes
+  check_mode: true
   register: result
 
 - assert:
@@ -579,12 +579,12 @@
 # Check, rowcount must be 1
 - name: postgresql_slot - check that nothing changed after the previous step
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
     query: "SELECT 1 FROM pg_replication_slots WHERE slot_name = 'slot1'"
-  ignore_errors: yes
+  ignore_errors: true
   register: result
   when: postgres_version_resp.stdout is version('9.6', '>=')
 
@@ -596,7 +596,7 @@
 # true mode
 - name: postgresql_slot - drop physical slot
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_slot:
     login_user: "{{ pg_user }}"
     db: postgres
@@ -614,12 +614,12 @@
 # Check, rowcount must be 0
 - name: postgresql_slot - check that the slot does not exist after the previous step
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
     query: "SELECT 1 FROM pg_replication_slots WHERE slot_name = 'slot1' and slot_type = 'physical'"
-  ignore_errors: yes
+  ignore_errors: true
   register: result
   when: postgres_version_resp.stdout is version('9.6', '>=')
 
@@ -631,13 +631,13 @@
 # check mode
 - name: postgresql_slot - try drop physical slot again in check_mode
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_slot:
     login_user: "{{ pg_user }}"
     db: postgres
     name: slot1
     state: absent
-  check_mode: yes
+  check_mode: true
   register: result
   when: postgres_version_resp.stdout is version('9.6', '>=')
 
@@ -650,12 +650,12 @@
 # Check, rowcount must be 0
 - name: postgresql_slot - check that nothing changed after the previous step
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
     query: "SELECT 1 FROM pg_replication_slots WHERE slot_name = 'slot1' and slot_type = 'physical'"
-  ignore_errors: yes
+  ignore_errors: true
   register: result
   when: postgres_version_resp.stdout is version('9.6', '>=')
 
@@ -667,7 +667,7 @@
 # true mode
 - name: postgresql_slot - try drop physical slot again
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_slot:
     login_user: "{{ pg_user }}"
     db: postgres
@@ -685,12 +685,12 @@
 # Check, rowcount must be 0
 - name: postgresql_slot - check that nothing changed after the previous step
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
     query: "SELECT 1 FROM pg_replication_slots WHERE slot_name = 'slot1' and slot_type = 'physical'"
-  ignore_errors: yes
+  ignore_errors: true
   register: result
   when: postgres_version_resp.stdout is version('9.6', '>=')
 
@@ -705,7 +705,7 @@
     session_role: 'curious.anonymous"; SELECT * FROM information_schema.tables; --'
     db: postgres
     name: slot1
-    trust_input: no
+    trust_input: false
   register: result
   ignore_errors: true
   when: postgres_version_resp.stdout is version('9.6', '>=')
@@ -722,13 +722,13 @@
 #
 - name: postgresql_slot - clean up
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_slot:
     login_user: "{{ pg_user }}"
     db: postgres
     name: "{{ item }}"
     state: absent
-  ignore_errors: yes
+  ignore_errors: true
   when: postgres_version_resp.stdout is version('10', '>=') and ansible_distribution == 'Ubuntu'
   with_items:
   - slot0
diff --git a/tests/integration/targets/postgresql_subscription/tasks/postgresql_subscription_initial.yml b/tests/integration/targets/postgresql_subscription/tasks/postgresql_subscription_initial.yml
index ac8f35ba..b464c3db 100644
--- a/tests/integration/targets/postgresql_subscription/tasks/postgresql_subscription_initial.yml
+++ b/tests/integration/targets/postgresql_subscription/tasks/postgresql_subscription_initial.yml
@@ -5,7 +5,7 @@
     dangerous_name: 'curious.anonymous"; SELECT * FROM information_schema.tables; --'
     task_parameters: &task_parameters
       become_user: '{{ pg_user }}'
-      become: yes
+      become: true
       register: result
     pg_parameters: &pg_parameters
       login_user: '{{ pg_user }}'
@@ -41,7 +41,7 @@
         user: '{{ replication_role }}'
         password: '{{ replication_pass }}'
         dbname: '{{ test_db }}'
-      trust_input: no
+      trust_input: false
 
   - assert:
       that:
@@ -83,8 +83,8 @@
       login_port: '{{ replica_port }}'
       name: '{{ test_subscription }}'
       state: absent
-      trust_input: no
-    check_mode: yes
+      trust_input: false
+    check_mode: true
 
   - assert:
       that:
@@ -147,7 +147,7 @@
         user: '{{ replication_role }}'
         password: '{{ replication_pass }}'
         dbname: '{{ test_db }}'
-      trust_input: no
+      trust_input: false
 
   - assert:
       that:
@@ -163,7 +163,7 @@
       state: present
       publications: '{{ test_pub }}'
       owner: '{{ test_role1 }}'
-      trust_input: no
+      trust_input: false
 
   - assert:
       that:
@@ -194,8 +194,8 @@
       state: present
       publications: '{{ test_pub }}'
       owner: '{{ test_role2 }}'
-      trust_input: no
-    check_mode: yes
+      trust_input: false
+    check_mode: true
 
   - assert:
       that:
@@ -227,7 +227,7 @@
       state: present
       publications: '{{ test_pub }}'
       owner: '{{ test_role2 }}'
-      trust_input: no
+      trust_input: false
 
   - assert:
       that:
@@ -264,14 +264,14 @@
       publications: '{{ test_pub }}'
       session_role: '{{ dangerous_name }}'
       owner: '{{ test_role1 }}'
-      trust_input: no
+      trust_input: false
       connparams:
         host: 127.0.0.1
         port: '{{ primary_port }}'
         user: '{{ replication_role }}'
         password: '{{ replication_pass }}'
         dbname: '{{ test_db }}'
-    ignore_errors: yes
+    ignore_errors: true
 
   - assert:
       that:
@@ -289,9 +289,9 @@
       login_port: '{{ replica_port }}'
       name: '{{ test_subscription }}'
       state: absent
-      cascade: yes
-      trust_input: no
-    check_mode: yes
+      cascade: true
+      trust_input: false
+    check_mode: true
 
   - assert:
       that:
@@ -317,7 +317,7 @@
       login_port: '{{ replica_port }}'
       name: '{{ test_subscription }}'
       state: absent
-      cascade: yes
+      cascade: true
 
   - assert:
       that:
@@ -355,9 +355,9 @@
         password: '{{ replication_pass }}'
         dbname: '{{ test_db }}'
       subsparams:
-        enabled: no
-        synchronous_commit: no
-      trust_input: no
+        enabled: false
+        synchronous_commit: false
+      trust_input: false
 
   - assert:
       that:
@@ -389,9 +389,9 @@
       name: '{{ test_subscription }}'
       publications: '{{ test_pub }}'
       subsparams:
-        enabled: yes
-        synchronous_commit: yes
-      trust_input: no
+        enabled: true
+        synchronous_commit: true
+      trust_input: false
 
   - assert:
       that:
@@ -423,9 +423,9 @@
       name: '{{ test_subscription }}'
       publications: '{{ test_pub }}'
       subsparams:
-        enabled: yes
-        synchronous_commit: yes
-      trust_input: no
+        enabled: true
+        synchronous_commit: true
+      trust_input: false
 
   - assert:
       that:
@@ -451,8 +451,8 @@
       publications:
       - '{{ test_pub }}'
       - '{{ test_pub2 }}'
-      trust_input: no
-    check_mode: yes
+      trust_input: false
+    check_mode: true
 
   - assert:
       that:
@@ -485,7 +485,7 @@
       publications:
       - '{{ test_pub }}'
       - '{{ test_pub2 }}'
-      trust_input: no
+      trust_input: false
 
   - assert:
       that:
@@ -518,7 +518,7 @@
       publications:
       - '{{ test_pub }}'
       - '{{ test_pub2 }}'
-      trust_input: no
+      trust_input: false
 
   - assert:
       that:
@@ -559,8 +559,8 @@
         password: '{{ replication_pass }}'
         dbname: '{{ test_db }}'
         connect_timeout: '{{ conn_timeout }}'
-      trust_input: no
-    check_mode: yes
+      trust_input: false
+    check_mode: true
 
   - assert:
       that:
@@ -583,7 +583,7 @@
         password: '{{ replication_pass }}'
         dbname: '{{ test_db }}'
         connect_timeout: '{{ conn_timeout }}'
-      trust_input: no
+      trust_input: false
 
   - assert:
       that:
@@ -617,7 +617,7 @@
         password: '{{ replication_pass }}'
         dbname: '{{ test_db }}'
         connect_timeout: '{{ conn_timeout }}'
-      trust_input: no
+      trust_input: false
 
   - assert:
       that:
@@ -638,7 +638,7 @@
       login_port: '{{ replica_port }}'
       name: '{{ test_subscription }}'
       state: refresh
-    check_mode: yes
+    check_mode: true
 
   - assert:
       that:
diff --git a/tests/integration/targets/postgresql_subscription/tasks/setup_publication.yml b/tests/integration/targets/postgresql_subscription/tasks/setup_publication.yml
index 47b2e348..2eafac57 100644
--- a/tests/integration/targets/postgresql_subscription/tasks/setup_publication.yml
+++ b/tests/integration/targets/postgresql_subscription/tasks/setup_publication.yml
@@ -5,7 +5,7 @@
 - vars:
     task_parameters: &task_parameters
       become_user: '{{ pg_user }}'
-      become: yes
+      become: true
       register: result
     pg_parameters: &pg_parameters
       login_user: '{{ pg_user }}'
diff --git a/tests/integration/targets/postgresql_table/tasks/postgresql_table_initial.yml b/tests/integration/targets/postgresql_table/tasks/postgresql_table_initial.yml
index c06403a4..db0f2732 100644
--- a/tests/integration/targets/postgresql_table/tasks/postgresql_table_initial.yml
+++ b/tests/integration/targets/postgresql_table/tasks/postgresql_table_initial.yml
@@ -6,7 +6,7 @@
 # Create a role for tests:
 - name: postgresql_table - create a role for tests
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_user:
     db: postgres
     login_user: "{{ pg_user }}"
@@ -14,7 +14,7 @@
 
 - name: postgresql_table - create test schema
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_schema:
     database: postgres
     login_user: "{{ pg_user }}"
@@ -27,7 +27,7 @@
 # Create a simple table in check_mode:
 - name: postgresql_table - create table in check_mode
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_table:
     login_db: postgres
     login_port: 5432
@@ -36,8 +36,8 @@
     owner: alice
     columns: id int
   register: result
-  ignore_errors: yes
-  check_mode: yes
+  ignore_errors: true
+  check_mode: true
 
 - assert:
     that:
@@ -49,12 +49,12 @@
 # Check that the table doesn't exist after the previous step, rowcount must be 0
 - name: postgresql_table - check that table doesn't exist after the previous step
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
     query: "SELECT 1 FROM pg_stat_all_tables WHERE relname = 'test1'"
-  ignore_errors: yes
+  ignore_errors: true
   register: result
  
 - assert:
@@ -64,7 +64,7 @@
 # Create a simple table:
 - name: postgresql_table - create table
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_table:
     login_db: postgres
     login_port: 5432
@@ -73,7 +73,7 @@
     owner: alice
     columns: id int
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 - assert:
     that:
@@ -88,12 +88,12 @@
 # Check that the table exists after the previous step, rowcount must be 1
 - name: postgresql_table - check that table exists after the previous step
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
     query: "SELECT 1 FROM pg_stat_all_tables WHERE relname = 'test1'"
-  ignore_errors: yes
+  ignore_errors: true
   register: result
  
 - assert:
@@ -103,12 +103,12 @@
 # Check that the tableowner is alice
 - name: postgresql_table - check that table owner is alice
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
     query: "SELECT 1 FROM pg_tables WHERE tablename = 'test1' AND tableowner = 'alice'"
-  ignore_errors: yes
+  ignore_errors: true
   register: result
  
 - assert:
@@ -122,15 +122,15 @@
 # Create a table LIKE another table without any additional parameters in check_mode:
 - name: postgresql_table - create table like in check_mode
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_table:
     db: postgres
     login_user: "{{ pg_user }}"
     name: test2
     like: test1
   register: result
-  ignore_errors: yes
-  check_mode: yes
+  ignore_errors: true
+  check_mode: true
 
 - assert:
     that:
@@ -142,12 +142,12 @@
 # Check that the table doesn't exist after the previous step, rowcount must be 0
 - name: postgresql_table - check that table doesn't exist after the previous step
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
     query: "SELECT 1 FROM pg_stat_all_tables WHERE relname = 'test2'"
-  ignore_errors: yes
+  ignore_errors: true
   register: result
  
 - assert:
@@ -157,14 +157,14 @@
 # Create a table LIKE another table without any additional parameters:
 - name: postgresql_table - create table like
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_table:
     db: postgres
     login_user: "{{ pg_user }}"
     name: test2
     like: test1
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 - assert:
     that:
@@ -179,12 +179,12 @@
 # Check that the table exists after the previous step, rowcount must be 1
 - name: postgresql_table - check that table exists after the previous step
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
     query: "SELECT 1 FROM pg_stat_all_tables WHERE relname = 'test2'"
-  ignore_errors: yes
+  ignore_errors: true
   register: result
  
 - assert:
@@ -198,15 +198,15 @@
 # Drop a table in check_mode:
 - name: postgresql_table - drop table in check_mode
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_table:
     db: postgres
     login_user: "{{ pg_user }}"
     name: test2
     state: absent
   register: result
-  ignore_errors: yes
-  check_mode: yes
+  ignore_errors: true
+  check_mode: true
 
 - assert:
     that:
@@ -220,12 +220,12 @@
 # Check that the table exists after the previous step, rowcount must be 1
 - name: postgresql_table - check that table exists after the previous step
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
     query: "SELECT 1 FROM pg_stat_all_tables WHERE relname = 'test2'"
-  ignore_errors: yes
+  ignore_errors: true
   register: result
  
 - assert:
@@ -235,14 +235,14 @@
 # Drop a table:
 - name: postgresql_table - drop table
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_table:
     db: postgres
     login_user: "{{ pg_user }}"
     name: test2
     state: absent
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 - assert:
     that:
@@ -253,12 +253,12 @@
 # Check that the table doesn't exist after the previous step, rowcount must be 0
 - name: postgresql_table - check that table doesn't exist after the previous step
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
     query: "SELECT 1 FROM pg_stat_all_tables WHERE relname = 'test2'"
-  ignore_errors: yes
+  ignore_errors: true
   register: result
 
 - assert:
@@ -268,7 +268,7 @@
 # Create a table like another table including:
 - name: postgresql_table - create table like with including indexes
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_table:
     db: postgres
     login_user: "{{ pg_user }}"
@@ -276,7 +276,7 @@
     like: test1
     including: indexes
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 - assert:
     that:
@@ -290,7 +290,7 @@
 # Check to create table if it exists:
 - name: postgresql_table - try to create existing table again
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_table:
     db: postgres
     login_user: "{{ pg_user }}"
@@ -298,7 +298,7 @@
     like: test1
     including: indexes
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 - assert:
     that:
@@ -307,26 +307,26 @@
 # Drop the table to prepare for the next step:
 - name: postgresql_table - drop table
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_table:
     db: postgres
     login_user: "{{ pg_user }}"
     name: test2
     state: absent
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 # Try to drop non existing table:
 - name: postgresql_table - try drop dropped table again
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_table:
     db: postgres
     login_user: "{{ pg_user }}"
     name: test2
     state: absent
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 - assert:
     that:
@@ -338,18 +338,18 @@
 
 # Create user to prepare for the next step:
 - name: postgresql_table - create the new user test_user
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_user:
     login_user: "{{ pg_user }}"
     db: postgres
     name: test_user
     state: present
-  ignore_errors: yes
+  ignore_errors: true
 
 # Try to change owner to test_user in check_mode
 - name: postgresql_table - change table ownership to test_user in check_mode
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_table:
     db: postgres
@@ -357,8 +357,8 @@
     name: test1
     owner: test_user
   register: result
-  ignore_errors: yes
-  check_mode: yes
+  ignore_errors: true
+  check_mode: true
 
 - assert:
     that:
@@ -370,12 +370,12 @@
 # Check that the tableowner was not changed to test_user
 - name: postgresql_table - check that table owner was not changed
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
     query: "SELECT 1 FROM pg_tables WHERE tablename = 'test1' AND tableowner = 'test_user'"
-  ignore_errors: yes
+  ignore_errors: true
   register: result
  
 - assert:
@@ -384,7 +384,7 @@
 
 # Try to change owner to test_user
 - name: postgresql_table - change table ownership to test_user
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_table:
     db: postgres
@@ -392,7 +392,7 @@
     name: test1
     owner: test_user
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 - assert:
     that:
@@ -404,12 +404,12 @@
 # Check that the tableowner was changed to test_user
 - name: postgresql_table - check that table owner was changed
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
     query: "SELECT 1 FROM pg_tables WHERE tablename = 'test1' AND tableowner = 'test_user'"
-  ignore_errors: yes
+  ignore_errors: true
   register: result
  
 - assert:
@@ -422,7 +422,7 @@
 
 # Create a table with additional storage parameters:
 - name: postgresql_table - create table with storage_params
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_table:
     db: postgres
@@ -435,7 +435,7 @@
     - fillfactor=10
     - autovacuum_analyze_threshold=1
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 - assert:
     that:
@@ -447,12 +447,12 @@
 # Check storage parameters
 - name: postgresql_table - check storage parameters
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
     query: "SELECT reloptions FROM pg_class WHERE relname = 'test3'"
-  ignore_errors: yes
+  ignore_errors: true
   register: result
  
 - assert:
@@ -465,7 +465,7 @@
 # Insert a row to test table:
 - name: postgresql_table - insert a row
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
@@ -473,16 +473,16 @@
 
 # Truncate a table in check_mode:
 - name: postgresql_table - truncate table
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_table:
     db: postgres
     login_user: "{{ pg_user }}"
     name: test3
-    truncate: yes
+    truncate: true
   register: result
-  ignore_errors: yes
-  check_mode: yes
+  ignore_errors: true
+  check_mode: true
 
 - assert:
     that:
@@ -493,12 +493,12 @@
 # Check the row exists:
 - name: postgresql_table - check that row exists after the previous step
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
     query: "SELECT * FROM test3 WHERE id = '1'"
-  ignore_errors: yes
+  ignore_errors: true
   register: result
  
 - assert:
@@ -508,15 +508,15 @@
 # Truncate a table. It always returns changed == true
 # because it always creates a new table with the same schema and drop the old table:
 - name: postgresql_table - truncate table
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_table:
     db: postgres
     login_user: "{{ pg_user }}"
     name: test3
-    truncate: yes
+    truncate: true
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 - assert:
     that:
@@ -527,12 +527,12 @@
 # Check the row exists:
 - name: postgresql_table - check that row doesn't exist after the previous step
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
     query: "SELECT * FROM test3 WHERE id = '1'"
-  ignore_errors: yes
+  ignore_errors: true
   register: result
  
 - assert:
@@ -547,7 +547,7 @@
 # In check_mode test4 won't be exist after the following playbook,
 # so result.changed == 'absent' for the table with this name
 - name: postgresql_table - rename table in check_mode
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_table:
     db: postgres
@@ -555,8 +555,8 @@
     name: test3
     rename: test4
   register: result
-  ignore_errors: yes
-  check_mode: yes
+  ignore_errors: true
+  check_mode: true
 
 - assert:
     that:
@@ -567,12 +567,12 @@
 # Check that the table exists after the previous step, rowcount must be 1
 - name: postgresql_table - check that table exists after the previous step
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
     query: "SELECT 1 FROM pg_stat_all_tables WHERE relname = 'test3'"
-  ignore_errors: yes
+  ignore_errors: true
   register: result
  
 - assert:
@@ -581,7 +581,7 @@
 
 # Rename a table:
 - name: postgresql_table - rename table
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_table:
     db: postgres
@@ -589,7 +589,7 @@
     name: test3
     rename: test4
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 - assert:
     that:
@@ -600,12 +600,12 @@
 # Check that the table test 3 doesn't exist after the previous step, rowcount must be - 0
 - name: postgresql_table - check that table exists after the previous step
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
     query: "SELECT 1 FROM pg_stat_all_tables WHERE relname = 'test3'"
-  ignore_errors: yes
+  ignore_errors: true
   register: result
  
 - assert:
@@ -615,12 +615,12 @@
 # Check that the table test 4 exists after the previous step, rowcount must be - 1
 - name: postgresql_table - check that table exists after the previous step
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
     query: "SELECT 1 FROM pg_stat_all_tables WHERE relname = 'test4'"
-  ignore_errors: yes
+  ignore_errors: true
   register: result
  
 - assert:
@@ -633,16 +633,16 @@
 
 # Create unlogged table in check_mode:
 - name: postgresql_table - create unlogged table in check_mode
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_table:
     db: postgres
     login_user: "{{ pg_user }}"
     name: test5
-    unlogged: yes
+    unlogged: true
   register: result
-  ignore_errors: yes
-  check_mode: yes
+  ignore_errors: true
+  check_mode: true
 
 - assert:
     that:
@@ -653,12 +653,12 @@
 # Check that the table doesn't exist after the previous step, rowcount must be - 0
 - name: postgresql_table - check that table doesn't exist after the previous step
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
     query: "SELECT 1 FROM pg_stat_all_tables WHERE relname = 'test5'"
-  ignore_errors: yes
+  ignore_errors: true
   register: result
  
 - assert:
@@ -667,15 +667,15 @@
 
 # Create unlogged table:
 - name: postgresql_table - create unlogged table
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_table:
     db: postgres
     login_user: "{{ pg_user }}"
     name: test5
-    unlogged: yes
+    unlogged: true
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 - assert:
     that:
@@ -686,12 +686,12 @@
 # Check that the table exists after the previous step, rowcount must be - 1
 - name: postgresql_table - check that table exists after the previous step
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
     query: "SELECT 1 FROM pg_stat_all_tables WHERE relname = 'test5'"
-  ignore_errors: yes
+  ignore_errors: true
   register: result
   when: postgres_version_resp.stdout is version('9.1', '>=')
  
@@ -702,16 +702,16 @@
 
 # Drop table CASCADE:
 - name: postgresql_table - drop table cascade
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_table:
     db: postgres
     login_user: "{{ pg_user }}"
     name: test5
     state: absent
-    cascade: yes
+    cascade: true
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 - assert:
     that:
@@ -722,12 +722,12 @@
 # Check that the table doesn't exist after the previous step, rowcount must be - 0
 - name: postgresql_table - check that table doesn't exist after the previous step
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
     query: "SELECT 1 FROM pg_stat_all_tables WHERE relname = 'test5'"
-  ignore_errors: yes
+  ignore_errors: true
   register: result
   when: postgres_version_resp.stdout is version('9.1', '>=')
  
@@ -753,12 +753,12 @@
 
 - name: postgresql_table - check that table exists after the previous step
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
     query: "SELECT 1 FROM pg_stat_all_tables WHERE relname = 'test_schema_table' and schemaname = 'acme'"
-  ignore_errors: yes
+  ignore_errors: true
   register: result
  
 - assert:
@@ -802,12 +802,12 @@
 
 - name: postgresql_table - check that the table doesn't exist after the previous step
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
     query: "SELECT 1 FROM pg_stat_all_tables WHERE relname = 'test_schema_table' and schemaname = 'acme'"
-  ignore_errors: yes
+  ignore_errors: true
   register: result
  
 - assert:
@@ -828,12 +828,12 @@
 
 - name: postgresql_table - check that the table with the same name in schema public exists
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_query:
     db: postgres
     login_user: "{{ pg_user }}"
     query: "SELECT 1 FROM pg_stat_all_tables WHERE relname = 'test_schema_table' and schemaname = 'public'"
-  ignore_errors: yes
+  ignore_errors: true
   register: result
  
 - assert:
@@ -846,7 +846,7 @@
     login_user: "{{ pg_user }}"
     name: public.test_schema_table
     rename: new_test_schema_table
-    trust_input: yes
+    trust_input: true
   register: result
 
 - assert:
@@ -862,10 +862,10 @@
     login_user: "{{ pg_user }}"
     name: postgres.acme.test_schema_table
     state: absent
-    trust_input: no
+    trust_input: false
     session_role: 'curious.anonymous"; SELECT * FROM information_schema.tables; --'
   register: result
-  ignore_errors: yes
+  ignore_errors: true
 
 - assert:
     that:
@@ -877,17 +877,17 @@
 #
 - name: postgresql_table - drop test schema
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_schema:
     database: postgres
     login_user: "{{ pg_user }}"
     name: acme
     state: absent
-    cascade_drop: yes
+    cascade_drop: true
 
 - name: postgresql_table - drop test role
   become_user: "{{ pg_user }}"
-  become: yes
+  become: true
   postgresql_user:
     db: postgres
     login_user: "{{ pg_user }}"
@@ -896,4 +896,4 @@
   loop:
   - test_user
   - alice
-  ignore_errors: yes
+  ignore_errors: true
diff --git a/tests/integration/targets/postgresql_tablespace/tasks/postgresql_tablespace_initial.yml b/tests/integration/targets/postgresql_tablespace/tasks/postgresql_tablespace_initial.yml
index f5884d99..b8e6d0b5 100644
--- a/tests/integration/targets/postgresql_tablespace/tasks/postgresql_tablespace_initial.yml
+++ b/tests/integration/targets/postgresql_tablespace/tasks/postgresql_tablespace_initial.yml
@@ -201,7 +201,7 @@
     login_user: '{{ pg_user }}'
     name: foo
     rename_to: '{{ dangerous_name }}'
-    trust_input: no
+    trust_input: false
   register: result
   ignore_errors: true
 
@@ -218,7 +218,7 @@
     login_user: '{{ pg_user }}'
     name: foo
     state: absent
-    trust_input: yes
+    trust_input: true
   register: result
   ignore_errors: true
 
diff --git a/tests/integration/targets/postgresql_user/tasks/postgresql_user_general.yml b/tests/integration/targets/postgresql_user/tasks/postgresql_user_general.yml
index f1fcdf71..cde95b0c 100644
--- a/tests/integration/targets/postgresql_user/tasks/postgresql_user_general.yml
+++ b/tests/integration/targets/postgresql_user/tasks/postgresql_user_general.yml
@@ -12,7 +12,7 @@
     test_comment2: 'comment2'
     task_parameters: &task_parameters
       become_user: '{{ pg_user }}'
-      become: yes
+      become: true
       register: result
     pg_parameters: &pg_parameters
       login_user: '{{ pg_user }}'
@@ -24,11 +24,11 @@
   #
   - name: Create role in check_mode
     <<: *task_parameters
-    check_mode: yes
+    check_mode: true
     postgresql_user:
       <<: *pg_parameters
       name: '{{ test_user }}'
-      trust_input: no
+      trust_input: false
 
   - assert:
       that:
@@ -97,7 +97,7 @@
       <<: *pg_parameters
       name: '{{ test_user }}'
       comment: '{{ test_comment1 }}'
-      trust_input: no
+      trust_input: false
 
   - assert:
       that:
@@ -130,7 +130,7 @@
 
   - name: Try to create role again in check_mode
     <<: *task_parameters
-    check_mode: yes
+    check_mode: true
     postgresql_user:
       <<: *pg_parameters
       name: '{{ test_user }}'
@@ -173,7 +173,7 @@
 
   - name: Drop role in check_mode
     <<: *task_parameters
-    check_mode: yes
+    check_mode: true
     postgresql_user:
       <<: *pg_parameters
       name: '{{ test_user }}'
@@ -218,7 +218,7 @@
 
   - name: Try to drop role in check mode again
     <<: *task_parameters
-    check_mode: yes
+    check_mode: true
     postgresql_user:
       <<: *pg_parameters
       name: '{{ test_user }}'
@@ -273,7 +273,7 @@
       <<: *pg_parameters
       name: '{{ test_user }}'
       password: u123
-      no_password_changes: yes
+      no_password_changes: true
 
   - assert:
       that:
@@ -298,7 +298,7 @@
       <<: *pg_parameters
       name: '{{ test_user }}'
       password: myunencryptedpass
-      encrypted: no
+      encrypted: false
     when: postgres_version_resp.stdout is version('10', '<')
 
   - assert:
@@ -319,13 +319,13 @@
       - result.rowcount == 1
     when: postgres_version_resp.stdout is version('10', '<')
 
-  - name: Change password, explicit encrypted=yes
+  - name: Change password, explicit encrypted=true
     <<: *task_parameters
     postgresql_user:
       <<: *pg_parameters
       name: '{{ test_user }}'
       password: myunencryptedpass
-      encrypted: yes
+      encrypted: true
 
   - assert:
       that:
@@ -348,7 +348,7 @@
       <<: *pg_parameters
       name: '{{ test_user }}'
       expires: 'Jan 31 2020'
-      trust_input: no
+      trust_input: false
 
   - assert:
       that:
@@ -400,7 +400,7 @@
       <<: *pg_parameters
       name: '{{ test_user }}'
       role_attr_flags: CREATEROLE,CREATEDB
-      trust_input: no
+      trust_input: false
 
   - assert:
       that:
@@ -507,7 +507,7 @@
       login_user: '{{ pg_user }}'
       session_role: '{{ test_user }}'
       query: 'SELECT * FROM {{ test_table }}'
-    ignore_errors: yes
+    ignore_errors: true
 
   - assert:
       that:
@@ -520,7 +520,7 @@
       <<: *pg_parameters
       name: '{{ test_user }}'
       priv: '{{ test_table }}:SELECT'
-      trust_input: no
+      trust_input: false
 
   - assert:
       that:
@@ -578,7 +578,7 @@
       <<: *pg_parameters
       name: '{{ test_user2 }}'
       state: absent
-    ignore_errors: yes
+    ignore_errors: true
 
   - assert:
       that:
@@ -590,7 +590,7 @@
     postgresql_user:
       <<: *pg_parameters
       name: '{{ test_user }}'
-      fail_on_user: no
+      fail_on_user: false
       
   - assert:
       that:
@@ -613,7 +613,7 @@
       name: '{{ test_group1 }}'
       groups: '{{ test_group2 }}'
       role_attr_flags: NOLOGIN
-    check_mode: yes
+    check_mode: true
 
   - assert:
       that:
@@ -648,7 +648,7 @@
       name: '{{ test_group1 }}'
       groups: '{{ test_group2 }}'
       role_attr_flags: NOLOGIN
-      trust_input: no
+      trust_input: false
 
   - assert:
       that:
@@ -706,7 +706,7 @@
       groups:
       - '{{ test_group1 }}'
       - '{{ test_group2 }}'
-      trust_input: no
+      trust_input: false
 
   - assert:
       that:
@@ -732,8 +732,8 @@
     postgresql_user:
       <<: *pg_parameters
       name: '{{ dangerous_name }}'
-      trust_input: no
-    ignore_errors: yes
+      trust_input: false
+    ignore_errors: true
 
   - assert:
       that:
diff --git a/tests/integration/targets/postgresql_user/tasks/postgresql_user_initial.yml b/tests/integration/targets/postgresql_user/tasks/postgresql_user_initial.yml
index 79be2237..89028619 100644
--- a/tests/integration/targets/postgresql_user/tasks/postgresql_user_initial.yml
+++ b/tests/integration/targets/postgresql_user/tasks/postgresql_user_initial.yml
@@ -5,10 +5,10 @@
 # do not run the encrypted: no tests if on 10+
 - ansible.builtin.set_fact:
     encryption_values:
-    - 'yes'
+    - 'true'
 
 - ansible.builtin.set_fact:
-    encryption_values: '{{ encryption_values + ["no"]}}'
+    encryption_values: '{{ encryption_values + ["false"]}}'
   when: postgres_version_resp.stdout is version('10', '<=')
 
 - include_tasks: test_password.yml
@@ -30,8 +30,8 @@
   vars:
     no_password_changes: '{{ loop_item }}'
   loop:
-    - 'yes'
-    - 'no'
+    - 'true'
+    - 'false'
   loop_control:
     loop_var: loop_item
 
@@ -41,16 +41,16 @@
 # Test login_user functionality
 #
 - name: Create a user to test login module parameters
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   postgresql_user:
     name: "{{ db_user1 }}"
     state: "present"
-    encrypted: 'yes'
+    encrypted: 'true'
     password: "password"
     role_attr_flags: "CREATEDB,LOGIN,CREATEROLE"
     login_user: "{{ pg_user }}"
-    trust_input: no
+    trust_input: false
     db: postgres
 
 - name: Create db
@@ -62,7 +62,7 @@
     login_host: "localhost"
 
 - name: Check that database created
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   shell: echo "select datname from pg_database where datname = '{{ db_name }}';" | psql -d postgres
   register: result
@@ -75,16 +75,16 @@
   postgresql_user:
     name: "{{ db_user2 }}"
     state: "present"
-    encrypted: 'yes'
+    encrypted: 'true'
     password: "md55c8ccfd9d6711fc69a7eae647fc54f51"
     db: "{{ db_name }}"
     login_user: "{{ db_user1 }}"
     login_password: "password"
     login_host: "localhost"
-    trust_input: no
+    trust_input: false
 
 - name: Check that it was created
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   shell: echo "select * from pg_user where usename='{{ db_user2 }}';" | psql -d postgres
   register: result
@@ -106,7 +106,7 @@
     host: "localhost"
 
 - name: Check that the user has the requested permissions (database)
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   shell: echo "select datacl from pg_database where datname='{{ db_name }}';" | psql {{ db_name }}
   register: result_database
@@ -125,10 +125,10 @@
     login_user: "{{ db_user1 }}"
     login_password: "password"
     login_host: "localhost"
-    trust_input: no
+    trust_input: false
 
 - name: Check that they were removed
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   shell: echo "select * from pg_user where usename='{{ db_user2 }}';" | psql -d postgres
   register: result
@@ -146,7 +146,7 @@
     login_host: "localhost"
 
 - name: Check that database was destroyed
-  become: yes
+  become: true
   become_user: "{{ pg_user }}"
   shell: echo "select datname from pg_database where datname = '{{ db_name }}';" | psql -d postgres
   register: result
diff --git a/tests/integration/targets/postgresql_user/tasks/test_no_password_change.yml b/tests/integration/targets/postgresql_user/tasks/test_no_password_change.yml
index c296c0ea..41ecbe61 100644
--- a/tests/integration/targets/postgresql_user/tasks/test_no_password_change.yml
+++ b/tests/integration/targets/postgresql_user/tasks/test_no_password_change.yml
@@ -1,7 +1,7 @@
 - vars:
     task_parameters: &task_parameters
       become_user: "{{ pg_user }}"
-      become: yes
+      become: true
       register: result
     postgresql_parameters: &parameters
       db: postgres
@@ -84,7 +84,7 @@
       state: "present"
       role_attr_flags: "NOSUPERUSER,NOCREATEROLE,NOCREATEDB,noinherit,NOLOGIN{{ bypassrls_supported | ternary(',NOBYPASSRLS', '') }},INVALID"
       no_password_changes: '{{ no_password_changes }}'
-    ignore_errors: yes
+    ignore_errors: true
 
   - name: Check that ansible reports failure
     assert:
diff --git a/tests/integration/targets/postgresql_user/tasks/test_password.yml b/tests/integration/targets/postgresql_user/tasks/test_password.yml
index 63bea3d6..aece258f 100644
--- a/tests/integration/targets/postgresql_user/tasks/test_password.yml
+++ b/tests/integration/targets/postgresql_user/tasks/test_password.yml
@@ -1,7 +1,7 @@
 - vars:
     task_parameters: &task_parameters
       become_user: "{{ pg_user }}"
-      become: yes
+      become: true
       register: result
     postgresql_query_parameters: &query_parameters
       db: postgres
@@ -93,7 +93,7 @@
       postgresql_user:
         <<: *parameters
         password: '{{ db_password1 }}'
-        encrypted: 'yes'
+        encrypted: 'true'
       environment:
         PGCLIENTENCODING: 'UTF8'
         PGOPTIONS: '-c default_transaction_read_only=on' # ensure 'alter user' query isn't executed
@@ -105,7 +105,7 @@
       postgresql_user:
         <<: *parameters
         password: "md5{{ (db_password1 ~ db_user1) | hash('md5')}}"
-        encrypted: 'yes'
+        encrypted: 'true'
       environment:
         PGOPTIONS: '-c default_transaction_read_only=on' # ensure 'alter user' query isn't executed
 
@@ -116,7 +116,7 @@
       postgresql_user:
         <<: *parameters
         password: "md5{{ (db_password1 ~ db_user1) | hash('md5')}}"
-        encrypted: 'no'
+        encrypted: 'false'
       environment:
         PGOPTIONS: '-c default_transaction_read_only=on' # ensure 'alter user' query isn't executed
 
@@ -126,7 +126,7 @@
       <<: *task_parameters
       postgresql_user:
         <<: *parameters
-        encrypted: 'yes'
+        encrypted: 'true'
         password: "md5{{ (db_password1 ~ db_user1) | hash('md5')}}"
         expires: '2025-01-01'
       environment:
@@ -139,7 +139,7 @@
       postgresql_user:
         <<: *parameters
         password: 'prefix{{ db_password1 }}'
-        encrypted: 'yes'
+        encrypted: 'true'
       environment:
         PGCLIENTENCODING: 'UTF8'
 
@@ -150,7 +150,7 @@
       postgresql_user:
         <<: *parameters
         password: "md5{{ ('prefix1' ~ db_password1 ~ db_user1) | hash('md5')}}"
-        encrypted: 'yes'
+        encrypted: 'true'
 
     - <<: *changed
 
@@ -159,7 +159,7 @@
       postgresql_user:
         <<: *parameters
         password: "md5{{ ('prefix2' ~ db_password1 ~ db_user1) | hash('md5')}}"
-        encrypted: 'no'
+        encrypted: 'false'
       register: change_pass_unencrypted
       failed_when:
       - change_pass_unencrypted is failed
@@ -173,7 +173,7 @@
       postgresql_user:
         <<: *parameters
         password: ''
-        encrypted: 'yes'
+        encrypted: 'true'
       environment:
         PGCLIENTENCODING: 'UTF8'
 
@@ -184,7 +184,7 @@
       postgresql_user:
         <<: *parameters
         password: ''
-        encrypted: 'yes'
+        encrypted: 'true'
       environment:
         PGCLIENTENCODING: 'UTF8'
         PGOPTIONS: '-c default_transaction_read_only=on' # ensure 'alter user' query isn't executed
@@ -196,7 +196,7 @@
       postgresql_user:
         <<: *parameters
         password: ''
-        encrypted: 'no'
+        encrypted: 'false'
       environment:
         PGCLIENTENCODING: 'UTF8'
         PGOPTIONS: '-c default_transaction_read_only=on' # ensure 'alter user' query isn't executed
@@ -208,13 +208,13 @@
       postgresql_user:
         <<: *parameters
         password: '{{ db_password1 }}'
-        encrypted: 'yes'
+        encrypted: 'true'
       environment:
         PGCLIENTENCODING: 'UTF8'
 
     - <<: *changed
 
-    when: encrypted == 'yes' and postgres_version_resp.stdout is version('14', '<')
+    when: encrypted == 'true' and postgres_version_resp.stdout is version('14', '<')
 
   - block:
 
@@ -223,7 +223,7 @@
       postgresql_user:
         <<: *parameters
         password: "{{ db_password1 }}"
-        encrypted: 'no'
+        encrypted: 'false'
       environment:
         PGCLIENTENCODING: 'UTF8'
         PGOPTIONS: '-c default_transaction_read_only=on' # ensure 'alter user' query isn't executed
@@ -235,7 +235,7 @@
       postgresql_user:
         <<: *parameters
         password: "{{ db_password1 }}"
-        encrypted: 'no'
+        encrypted: 'false'
         expires: '2025-01-01'
       environment:
         PGCLIENTENCODING: 'UTF8'
@@ -248,7 +248,7 @@
       postgresql_user:
         <<: *parameters
         password: "changed{{ db_password1 }}"
-        encrypted: 'no'
+        encrypted: 'false'
       environment:
         PGCLIENTENCODING: 'UTF8'
 
@@ -259,7 +259,7 @@
       postgresql_user:
         <<: *parameters
         password: ''
-        encrypted: 'no'
+        encrypted: 'false'
       environment:
         PGCLIENTENCODING: 'UTF8'
 
@@ -270,7 +270,7 @@
       postgresql_user:
         <<: *parameters
         password: ''
-        encrypted: 'no'
+        encrypted: 'false'
       environment:
         PGCLIENTENCODING: 'UTF8'
         PGOPTIONS: '-c default_transaction_read_only=on' # ensure 'alter user' query isn't executed
@@ -282,7 +282,7 @@
       postgresql_user:
         <<: *parameters
         password: ''
-        encrypted: 'yes'
+        encrypted: 'true'
       environment:
         PGCLIENTENCODING: 'UTF8'
         PGOPTIONS: '-c default_transaction_read_only=on' # ensure 'alter user' query isn't executed
@@ -294,13 +294,13 @@
       postgresql_user:
         <<: *parameters
         password: "{{ db_password1 }}"
-        encrypted: 'no'
+        encrypted: 'false'
       environment:
         PGCLIENTENCODING: 'UTF8'
 
     - <<: *changed
 
-    when: encrypted == 'no'
+    when: encrypted == 'false'
 
   # start of block scram-sha-256
   # scram-sha-256 password encryption type is supported since PostgreSQL 10
diff --git a/tests/integration/targets/postgresql_user_obj_stat_info/tasks/postgresql_user_obj_stat_info.yml b/tests/integration/targets/postgresql_user_obj_stat_info/tasks/postgresql_user_obj_stat_info.yml
index 6e6ff212..62f72d9e 100644
--- a/tests/integration/targets/postgresql_user_obj_stat_info/tasks/postgresql_user_obj_stat_info.yml
+++ b/tests/integration/targets/postgresql_user_obj_stat_info/tasks/postgresql_user_obj_stat_info.yml
@@ -5,7 +5,7 @@
 - vars:
     task_parameters: &task_parameters
       become_user: '{{ pg_user }}'
-      become: yes
+      become: true
       register: result
     pg_parameters: &pg_parameters
       login_user: '{{ pg_user }}'
@@ -64,12 +64,12 @@
   # To avoid CI timeouts
   - name: Kill all postgres processes
     shell: 'pkill -u {{ pg_user }}'
-    become: yes
+    become: true
     when: ansible_facts.distribution == 'CentOS' and ansible_facts.distribution_major_version == '8'
-    ignore_errors: yes
+    ignore_errors: true
 
   - name: Stop PostgreSQL
-    become: yes
+    become: true
     service:
       name: "{{ postgresql_service }}"
       state: stopped
@@ -80,7 +80,7 @@
       seconds: 5
 
   - name: Start PostgreSQL
-    become: yes
+    become: true
     service:
       name: "{{ postgresql_service }}"
       state: started
@@ -168,7 +168,7 @@
     postgresql_user_obj_stat_info:
       <<: *pg_parameters
       schema: nonexistent
-    ignore_errors: yes
+    ignore_errors: true
 
   - assert:
       that:
@@ -181,8 +181,8 @@
     postgresql_user_obj_stat_info:
       <<: *pg_parameters
       session_role: 'curious.anonymous"; SELECT * FROM information_schema.tables; --'
-      trust_input: no
-    ignore_errors: yes
+      trust_input: false
+    ignore_errors: true
 
   - assert:
       that:
@@ -198,7 +198,7 @@
       <<: *pg_parameters
       name: '{{ test_schema1 }}'
       state: absent
-      cascade_drop: yes
+      cascade_drop: true
 
   - name: Drop test tables
     <<: *task_parameters
@@ -219,4 +219,4 @@
     - '{{ test_func1 }}'
     - '{{ test_func2 }}'
     - '{{ test_schema1 }}.{{ test_func3 }}'
-    ignore_errors: yes
+    ignore_errors: true
diff --git a/tests/integration/targets/setup_pkg_mgr/tasks/main.yml b/tests/integration/targets/setup_pkg_mgr/tasks/main.yml
index 24d02228..cc4e3b0d 100644
--- a/tests/integration/targets/setup_pkg_mgr/tasks/main.yml
+++ b/tests/integration/targets/setup_pkg_mgr/tasks/main.yml
@@ -7,11 +7,11 @@
 - set_fact:
     pkg_mgr: community.general.pkgng
     ansible_pkg_mgr: community.general.pkgng
-    cacheable: yes
+    cacheable: true
   when: ansible_os_family == "FreeBSD"
 
 - set_fact:
     pkg_mgr: community.general.zypper
     ansible_pkg_mgr: community.general.zypper
-    cacheable: yes
+    cacheable: true
   when: ansible_os_family == "Suse"
diff --git a/tests/integration/targets/setup_postgresql_db/tasks/main.yml b/tests/integration/targets/setup_postgresql_db/tasks/main.yml
index 5491d552..57384962 100644
--- a/tests/integration/targets/setup_postgresql_db/tasks/main.yml
+++ b/tests/integration/targets/setup_postgresql_db/tasks/main.yml
@@ -27,7 +27,7 @@
 
 - name: Make sure the dbus service is enabled under systemd
   shell: systemctl enable dbus || systemctl enable dbus-broker
-  ignore_errors: yes
+  ignore_errors: true
   when: ansible_service_mgr == 'systemd' and ansible_distribution == 'Fedora'
 
 - name: Make sure the dbus service is started under systemd
@@ -38,9 +38,9 @@
 
 - name: Kill all postgres processes
   shell: 'pkill -u {{ pg_user }}'
-  become: yes
+  become: true
   when: ansible_facts.distribution == 'CentOS' and ansible_facts.distribution_major_version == '8'
-  ignore_errors: yes
+  ignore_errors: true
 
 - name: stop postgresql service
   service: name={{ postgresql_service }} state=stopped
@@ -190,9 +190,9 @@
 
 - name: Kill all postgres processes
   shell: 'pkill -u {{ pg_user }}'
-  become: yes
+  become: true
   when: ansible_facts.distribution == 'CentOS' and ansible_facts.distribution_major_version == '8'
-  ignore_errors: yes
+  ignore_errors: true
   register: terminate
 
 - name: Stop postgresql service
diff --git a/tests/integration/targets/setup_postgresql_replication/handlers/main.yml b/tests/integration/targets/setup_postgresql_replication/handlers/main.yml
index 9d68f7de..29460208 100644
--- a/tests/integration/targets/setup_postgresql_replication/handlers/main.yml
+++ b/tests/integration/targets/setup_postgresql_replication/handlers/main.yml
@@ -1,5 +1,5 @@
 - name: Stop services
-  become: yes
+  become: true
   become_user: '{{ pg_user }}'
   shell: '{{ pg_ctl }} -D {{ item.datadir }} -o "-p {{ item.port }}" -m immediate stop'
   loop:

From 5a4c502826fbb214c023f4af886e38d78a6f5e7a Mon Sep 17 00:00:00 2001
From: Douglas J Hunley <doug.hunley@gmail.com>
Date: Mon, 29 Aug 2022 10:06:57 -0400
Subject: [PATCH 4/7] backptch of 337

---
 .../tasks/postgresql_membership_initial.yml   | 736 ++++++++++++++++++
 .../tasks/postgresql_query_initial.yml        | 585 ++++++++++++++
 2 files changed, 1321 insertions(+)
 create mode 100644 tests/integration/targets/postgresql_membership/tasks/postgresql_membership_initial.yml
 create mode 100644 tests/integration/targets/postgresql_query/tasks/postgresql_query_initial.yml

diff --git a/tests/integration/targets/postgresql_membership/tasks/postgresql_membership_initial.yml b/tests/integration/targets/postgresql_membership/tasks/postgresql_membership_initial.yml
new file mode 100644
index 00000000..3c8ef17a
--- /dev/null
+++ b/tests/integration/targets/postgresql_membership/tasks/postgresql_membership_initial.yml
@@ -0,0 +1,736 @@
+# Copyright: (c) 2019, Andrew Klychkov (@Andersson007) <aaklychkov@mail.ru>
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
+
+####################
+# Prepare for tests:
+
+# Create test roles:
+- name: postgresql_membership - create test roles
+  become_user: "{{ pg_user }}"
+  become: true
+  postgresql_user:
+    login_user: "{{ pg_user }}"
+    db: postgres
+    name: "{{ item }}"
+  ignore_errors: true
+  with_items:
+  - "{{ test_group1 }}"
+  - "{{ test_group2 }}"
+  - "{{ test_group3 }}"
+  - "{{ test_user1 }}"
+  - "{{ test_user2 }}"
+
+################
+# Do main tests:
+
+### Test check_mode
+# Grant test_group1 to test_user1 in check_mode:
+- name: postgresql_membership - grant test_group1 to test_user1 in check_mode
+  become_user: "{{ pg_user }}"
+  become: true
+  postgresql_membership:
+    login_user: "{{ pg_user }}"
+    db: postgres
+    group: "{{ test_group1 }}"
+    user: "{{ test_user1 }}"
+    state: present
+  register: result
+  ignore_errors: true
+  check_mode: true
+
+- assert:
+    that:
+    - result is changed
+    - result.groups == ["{{ test_group1 }}"]
+    - result.queries == ["GRANT \"{{ test_group1 }}\" TO \"{{ test_user1 }}\""]
+    - result.granted.{{ test_group1 }} == ["{{ test_user1 }}"]
+    - result.state == "present"
+    - result.target_roles == ["{{ test_user1 }}"]
+
+# Try to revoke test_group1 from test_user1 to check that
+# nothing actually changed in check_mode at the previous step:
+- name: postgresql_membership - try to revoke test_group1 from test_user1 for checking check_mode
+  become_user: "{{ pg_user }}"
+  become: true
+  postgresql_membership:
+    login_user: "{{ pg_user }}"
+    db: postgres
+    group: "{{ test_group1 }}"
+    user: "{{ test_user1 }}"
+    state: absent
+  register: result
+  ignore_errors: true
+  check_mode: true
+
+- assert:
+    that:
+    - result is not changed
+    - result.groups == ["{{ test_group1 }}"]
+    - result.queries == []
+    - result.revoked.{{ test_group1 }} == []
+    - result.state == "absent"
+    - result.target_roles == ["{{ test_user1 }}"]
+### End of test check_mode
+
+# Grant test_group1 to test_user1:
+- name: postgresql_membership - grant test_group1 to test_user1
+  become_user: "{{ pg_user }}"
+  become: true
+  postgresql_membership:
+    login_user: "{{ pg_user }}"
+    db: postgres
+    group: "{{ test_group1 }}"
+    user: "{{ test_user1 }}"
+    state: present
+  register: result
+  ignore_errors: true
+
+- assert:
+    that:
+    - result is changed
+    - result.groups == ["{{ test_group1 }}"]
+    - result.queries == ["GRANT \"{{ test_group1 }}\" TO \"{{ test_user1 }}\""]
+    - result.granted.{{ test_group1 }} == ["{{ test_user1 }}"]
+    - result.state == "present"
+    - result.target_roles == ["{{ test_user1 }}"]
+
+# Grant test_group1 to test_user1 again to check that nothing changes:
+- name: postgresql_membership - grant test_group1 to test_user1 again
+  become_user: "{{ pg_user }}"
+  become: true
+  postgresql_membership:
+    login_user: "{{ pg_user }}"
+    db: postgres
+    group: "{{ test_group1 }}"
+    user: "{{ test_user1 }}"
+    state: present
+  register: result
+  ignore_errors: true
+
+- assert:
+    that:
+    - result is not changed
+    - result.groups == ["{{ test_group1 }}"]
+    - result.queries == []
+    - result.granted.{{ test_group1 }} == []
+    - result.state == "present"
+    - result.target_roles == ["{{ test_user1 }}"]
+
+# Revoke test_group1 from test_user1:
+- name: postgresql_membership - revoke test_group1 from test_user1
+  become_user: "{{ pg_user }}"
+  become: true
+  postgresql_membership:
+    login_user: "{{ pg_user }}"
+    db: postgres
+    group: "{{ test_group1 }}"
+    user: "{{ test_user1 }}"
+    state: absent
+  register: result
+  ignore_errors: true
+
+- assert:
+    that:
+    - result is changed
+    - result.groups == ["{{ test_group1 }}"]
+    - result.queries == ["REVOKE \"{{ test_group1 }}\" FROM \"{{ test_user1 }}\""]
+    - result.revoked.{{ test_group1 }} == ["{{ test_user1 }}"]
+    - result.state == "absent"
+    - result.target_roles == ["{{ test_user1 }}"]
+
+# Revoke test_group1 from test_user1 again to check that nothing changes:
+- name: postgresql_membership - revoke test_group1 from test_user1 again
+  become_user: "{{ pg_user }}"
+  become: true
+  postgresql_membership:
+    login_user: "{{ pg_user }}"
+    db: postgres
+    group: "{{ test_group1 }}"
+    user: "{{ test_user1 }}"
+    state: absent
+  register: result
+  ignore_errors: true
+
+- assert:
+    that:
+    - result is not changed
+    - result.groups == ["{{ test_group1 }}"]
+    - result.queries == []
+    - result.revoked.{{ test_group1 }} == []
+    - result.state == "absent"
+    - result.target_roles == ["{{ test_user1 }}"]
+
+# Grant test_group1 and test_group2 to test_user1 and test_user2:
+- name: postgresql_membership - grant two groups to two users
+  become_user: "{{ pg_user }}"
+  become: true
+  postgresql_membership:
+    login_user: "{{ pg_user }}"
+    db: postgres
+    group:
+    - "{{ test_group1 }}"
+    - "{{ test_group2 }}"
+    user:
+    - "{{ test_user1 }}"
+    - "{{ test_user2 }}"
+    state: present
+  register: result
+  ignore_errors: true
+
+- assert:
+    that:
+    - result is changed
+    - result.groups == ["{{ test_group1 }}", "{{ test_group2 }}"]
+    - result.queries == ["GRANT \"{{ test_group1 }}\" TO \"{{ test_user1 }}\"", "GRANT \"{{ test_group1 }}\" TO \"{{ test_user2 }}\"", "GRANT \"{{ test_group2 }}\" TO \"{{ test_user1 }}\"", "GRANT \"{{ test_group2 }}\" TO \"{{ test_user2 }}\""]
+    - result.granted.{{ test_group1 }} == ["{{ test_user1 }}", "{{ test_user2 }}"]
+    - result.granted.{{ test_group2 }} == ["{{ test_user1 }}", "{{ test_user2 }}"]
+    - result.state == "present"
+    - result.target_roles == ["{{ test_user1 }}", "{{ test_user2 }}"]
+
+# Grant test_group1 and test_group2 to test_user1 and test_user2 again to check that nothing changes:
+- name: postgresql_membership - grant two groups to two users again
+  become_user: "{{ pg_user }}"
+  become: true
+  postgresql_membership:
+    login_user: "{{ pg_user }}"
+    db: postgres
+    group:
+    - "{{ test_group1 }}"
+    - "{{ test_group2 }}"
+    user:
+    - "{{ test_user1 }}"
+    - "{{ test_user2 }}"
+    state: present
+  register: result
+  ignore_errors: true
+
+- assert:
+    that:
+    - result is not changed
+    - result.groups == ["{{ test_group1 }}", "{{ test_group2 }}"]
+    - result.queries == []
+    - result.granted.{{ test_group1 }} == []
+    - result.granted.{{ test_group2 }} == []
+    - result.state == "present"
+    - result.target_roles == ["{{ test_user1 }}", "{{ test_user2 }}"]
+
+# Revoke only test_group1 from test_user1:
+- name: postgresql_membership - revoke one group from one user
+  become_user: "{{ pg_user }}"
+  become: true
+  postgresql_membership:
+    login_user: "{{ pg_user }}"
+    db: postgres
+    group: "{{ test_group1 }}"
+    user: "{{ test_user1 }}"
+    state: absent
+  register: result
+  ignore_errors: true
+
+- assert:
+    that:
+    - result is changed
+    - result.groups == ["{{ test_group1 }}"]
+    - result.queries == ["REVOKE \"{{ test_group1 }}\" FROM \"{{ test_user1 }}\""]
+    - result.revoked.{{ test_group1 }} == ["{{ test_user1 }}"]
+    - result.state == "absent"
+    - result.target_roles == ["{{ test_user1 }}"]
+
+# Try to grant test_group1 and test_group2 to test_user1 and test_user2 again
+# to check that nothing changes with test_user2:
+- name: postgresql_membership - grant two groups to two users again
+  become_user: "{{ pg_user }}"
+  become: true
+  postgresql_membership:
+    login_user: "{{ pg_user }}"
+    db: postgres
+    group:
+    - "{{ test_group1 }}"
+    - "{{ test_group2 }}"
+    user:
+    - "{{ test_user1 }}"
+    - "{{ test_user2 }}"
+    state: present
+  register: result
+  ignore_errors: true
+
+- assert:
+    that:
+    - result is changed
+    - result.groups == ["{{ test_group1 }}", "{{ test_group2 }}"]
+    - result.queries == ["GRANT \"{{ test_group1 }}\" TO \"{{ test_user1 }}\""]
+    - result.granted.{{ test_group1 }} == ["{{ test_user1 }}"]
+    - result.granted.{{ test_group2 }} == []
+    - result.state == "present"
+    - result.target_roles == ["{{ test_user1 }}", "{{ test_user2 }}"]
+
+#####################
+# Check fail_on_role:
+
+# Try to grant non existent group to non existent role with fail_on_role=true:
+- name: postgresql_membership - revoke non existen group from non existen role
+  become_user: "{{ pg_user }}"
+  become: true
+  postgresql_membership:
+    login_user: "{{ pg_user }}"
+    db: postgres
+    group: fake_group
+    user: fake_user
+    state: present
+    fail_on_role: true
+  register: result
+  ignore_errors: true
+
+- assert:
+    that:
+    - result is not changed
+
+# Try to grant non existent group to non existent role with fail_on_role=no:
+- name: postgresql_membership - revoke non existen group from non existen role
+  become_user: "{{ pg_user }}"
+  become: true
+  postgresql_membership:
+    login_user: "{{ pg_user }}"
+    db: postgres
+    group: fake_group
+    user: fake_user
+    state: present
+    fail_on_role: false
+  register: result
+  ignore_errors: true
+
+- assert:
+    that:
+    - result is not changed
+    - result.granted == {}
+    - result.groups == []
+    - result.target_roles == []
+    - result.state == 'present'
+
+# Try to revoke non existent group from non existent role with fail_on_role=no:
+- name: postgresql_membership - revoke non existen group from non existen role
+  become_user: "{{ pg_user }}"
+  become: true
+  postgresql_membership:
+    login_user: "{{ pg_user }}"
+    db: postgres
+    group: fake_group
+    user: fake_user
+    state: absent
+    fail_on_role: false
+  register: result
+  ignore_errors: true
+
+- assert:
+    that:
+    - result is not changed
+    - result.revoked == {}
+    - result.groups == []
+    - result.target_roles == []
+    - result.state == 'absent'
+
+# Grant test_group3 with a name containing dots to test_user1.
+- name: postgresql_membership - grant test_group3 with dots to test_user1
+  become_user: "{{ pg_user }}"
+  become: true
+  postgresql_membership:
+    login_user: "{{ pg_user }}"
+    db: postgres
+    group: "{{ test_group3 }}"
+    user: "{{ test_user1 }}"
+    state: present
+  register: result
+
+- assert:
+    that:
+    - result is changed
+    - result.queries == ["GRANT \"{{ test_group3 }}\" TO \"{{ test_user1 }}\""]
+
+#############################
+# Check trust_input parameter
+
+- name: postgresql_membership - try to use dangerous input, don't trust
+  become_user: "{{ pg_user }}"
+  become: true
+  postgresql_membership:
+    login_user: "{{ pg_user }}"
+    db: postgres
+    group:
+    - "{{ test_group3}}"
+    - "{{ dangerous_name }}"
+    user: "{{ test_user1 }}"
+    state: present
+    trust_input: false
+  register: result
+  ignore_errors: true
+
+- assert:
+    that:
+    - result is failed
+    - result.msg == 'Passed input \'{{ dangerous_name }}\' is potentially dangerous'
+
+- name: postgresql_membership - try to use dangerous input, trust explicitly
+  become_user: "{{ pg_user }}"
+  become: true
+  postgresql_membership:
+    login_user: "{{ pg_user }}"
+    db: postgres
+    group:
+    - "{{ test_group3}}"
+    - "{{ dangerous_name }}"
+    user: "{{ test_user1 }}"
+    state: present
+    trust_input: true
+  register: result
+  ignore_errors: true
+
+- assert:
+    that:
+    - result is failed
+    - result.msg == 'Role {{ dangerous_name }} does not exist'
+
+########################
+# Tests for match method
+- name: Revoke all groups from a role check mode
+  become_user: "{{ pg_user }}"
+  become: true
+  postgresql_membership:
+    login_user: "{{ pg_user }}"
+    db: postgres
+    groups: []
+    user: "{{ test_user1 }}"
+    state: exact
+  register: result
+  check_mode: true
+
+- assert:
+    that:
+    - result is changed
+    - result.queries == ["REVOKE \"{{ test_group1 }}\" FROM \"{{ test_user1 }}\"", "REVOKE \"{{ test_group2 }}\" FROM \"{{ test_user1 }}\"", "REVOKE \"{{ test_group3 }}\" FROM \"{{ test_user1 }}\""],
+    - result.revoked["group.with.dots"] == ["{{ test_user1 }}"]
+    - result.revoked["group1"] == ["{{ test_user1 }}"]
+    - result.revoked["group2"] == ["{{ test_user1 }}"]
+    - result.granted == {}
+
+
+- name: Check result of prev task
+  become_user: "{{ pg_user }}"
+  become: true
+  postgresql_query:
+    login_user: "{{ pg_user }}"
+    db: postgres
+    query: "SELECT ARRAY(SELECT b.rolname FROM pg_catalog.pg_auth_members m JOIN pg_catalog.pg_roles b ON (m.roleid = b.oid) WHERE m.member = r.oid) FROM pg_catalog.pg_roles r WHERE r.rolname = '{{ test_user1 }}'"
+  register: result
+
+- assert:
+    that:
+    - result.query_result.0.array == ['{{ test_group1 }}', '{{ test_group2 }}', '{{ test_group3 }}']
+
+- name: Revoke all groups from a role actual mode
+  become_user: "{{ pg_user }}"
+  become: true
+  postgresql_membership:
+    login_user: "{{ pg_user }}"
+    db: postgres
+    groups: []
+    user: "{{ test_user1 }}"
+    state: exact
+  register: result
+
+- assert:
+    that:
+    - result is changed
+    - result.queries == ["REVOKE \"{{ test_group1 }}\" FROM \"{{ test_user1 }}\"", "REVOKE \"{{ test_group2 }}\" FROM \"{{ test_user1 }}\"", "REVOKE \"{{ test_group3 }}\" FROM \"{{ test_user1 }}\""],
+    - result.revoked["group.with.dots"] == ["{{ test_user1 }}"]
+    - result.revoked["group1"] == ["{{ test_user1 }}"]
+    - result.revoked["group2"] == ["{{ test_user1 }}"]
+    - result.granted == {}
+
+
+- name: Check result of prev task
+  become_user: "{{ pg_user }}"
+  become: true
+  postgresql_query:
+    login_user: "{{ pg_user }}"
+    db: postgres
+    query: "SELECT ARRAY(SELECT b.rolname FROM pg_catalog.pg_auth_members m JOIN pg_catalog.pg_roles b ON (m.roleid = b.oid) WHERE m.member = r.oid) FROM pg_catalog.pg_roles r WHERE r.rolname = '{{ test_user1 }}'"
+  register: result
+
+- assert:
+    that:
+    - result.query_result.0.array == []
+
+- name: Grant all groups to a role check mode
+  become_user: "{{ pg_user }}"
+  become: true
+  postgresql_membership:
+    login_user: "{{ pg_user }}"
+    db: postgres
+    groups:
+    - "{{ test_group1 }}"
+    - "{{ test_group2 }}"
+    - "{{ test_group3 }}"
+    user: "{{ test_user1 }}"
+    state: exact
+  register: result
+  check_mode: true
+
+- assert:
+    that:
+    - result is changed
+    - result.queries == ["GRANT \"{{ test_group1 }}\" TO \"{{ test_user1 }}\"", "GRANT \"{{ test_group2 }}\" TO \"{{ test_user1 }}\"", "GRANT \"{{ test_group3 }}\" TO \"{{ test_user1 }}\""],
+    - result.granted["group.with.dots"] == ["{{ test_user1 }}"]
+    - result.granted["group1"] == ["{{ test_user1 }}"]
+    - result.granted["group2"] == ["{{ test_user1 }}"]
+    - result.revoked == {}
+
+
+- name: Check result of prev task
+  become_user: "{{ pg_user }}"
+  become: true
+  postgresql_query:
+    login_user: "{{ pg_user }}"
+    db: postgres
+    query: "SELECT ARRAY(SELECT b.rolname FROM pg_catalog.pg_auth_members m JOIN pg_catalog.pg_roles b ON (m.roleid = b.oid) WHERE m.member = r.oid) FROM pg_catalog.pg_roles r WHERE r.rolname = '{{ test_user1 }}'"
+  register: result
+
+- assert:
+    that:
+    - result.query_result.0.array == []
+
+- name: Grant all groups to a role real mode
+  become_user: "{{ pg_user }}"
+  become: true
+  postgresql_membership:
+    login_user: "{{ pg_user }}"
+    db: postgres
+    groups:
+    - "{{ test_group1 }}"
+    - "{{ test_group2 }}"
+    - "{{ test_group3 }}"
+    user: "{{ test_user1 }}"
+    state: exact
+  register: result
+
+- assert:
+    that:
+    - result is changed
+    - result.queries == ["GRANT \"{{ test_group1 }}\" TO \"{{ test_user1 }}\"", "GRANT \"{{ test_group2 }}\" TO \"{{ test_user1 }}\"", "GRANT \"{{ test_group3 }}\" TO \"{{ test_user1 }}\""],
+    - result.granted["group.with.dots"] == ["{{ test_user1 }}"]
+    - result.granted["group1"] == ["{{ test_user1 }}"]
+    - result.granted["group2"] == ["{{ test_user1 }}"]
+    - result.revoked == {}
+
+
+- name: Check result of prev task
+  become_user: "{{ pg_user }}"
+  become: true
+  postgresql_query:
+    login_user: "{{ pg_user }}"
+    db: postgres
+    query: "SELECT ARRAY(SELECT b.rolname FROM pg_catalog.pg_auth_members m JOIN pg_catalog.pg_roles b ON (m.roleid = b.oid) WHERE m.member = r.oid) FROM pg_catalog.pg_roles r WHERE r.rolname = '{{ test_user1 }}'"
+  register: result
+
+- assert:
+    that:
+    - result.query_result.0.array == ['{{ test_group1 }}', '{{ test_group2 }}', '{{ test_group3 }}']
+
+- name: Change groups 1
+  become_user: "{{ pg_user }}"
+  become: true
+  postgresql_membership:
+    login_user: "{{ pg_user }}"
+    db: postgres
+    groups:
+    - "{{ test_group1 }}"
+    user: "{{ test_user1 }}"
+    state: exact
+  register: result
+
+- assert:
+    that:
+    - result is changed
+    - result.queries == ["REVOKE \"{{ test_group2 }}\" FROM \"{{ test_user1 }}\"", "REVOKE \"{{ test_group3 }}\" FROM \"{{ test_user1 }}\""],
+    - result.revoked["group.with.dots"] == ["{{ test_user1 }}"]
+    - result.revoked["group2"] == ["{{ test_user1 }}"]
+    - result.granted == {}
+
+
+- name: Check result of prev task
+  become_user: "{{ pg_user }}"
+  become: true
+  postgresql_query:
+    login_user: "{{ pg_user }}"
+    db: postgres
+    query: "SELECT ARRAY(SELECT b.rolname FROM pg_catalog.pg_auth_members m JOIN pg_catalog.pg_roles b ON (m.roleid = b.oid) WHERE m.member = r.oid) FROM pg_catalog.pg_roles r WHERE r.rolname = '{{ test_user1 }}'"
+  register: result
+
+- assert:
+    that:
+    - result.query_result.0.array == ['{{ test_group1 }}']
+
+- name: Change groups 2
+  become_user: "{{ pg_user }}"
+  become: true
+  postgresql_membership:
+    login_user: "{{ pg_user }}"
+    db: postgres
+    groups:
+    - "{{ test_group2 }}"
+    - "{{ test_group3 }}"
+    user: "{{ test_user1 }}"
+    state: exact
+  register: result
+
+- assert:
+    that:
+    - result is changed
+    - result.queries == ["REVOKE \"{{ test_group1 }}\" FROM \"{{ test_user1 }}\"", "GRANT \"{{ test_group2 }}\" TO \"{{ test_user1 }}\"", "GRANT \"{{ test_group3 }}\" TO \"{{ test_user1 }}\""],
+    - result.granted["group.with.dots"] == ["{{ test_user1 }}"]
+    - result.granted["group2"] == ["{{ test_user1 }}"]
+    - result.revoked["group1"] == ["{{ test_user1 }}"]
+
+- name: Check result of prev task
+  become_user: "{{ pg_user }}"
+  become: true
+  postgresql_query:
+    login_user: "{{ pg_user }}"
+    db: postgres
+    query: "SELECT ARRAY(SELECT b.rolname FROM pg_catalog.pg_auth_members m JOIN pg_catalog.pg_roles b ON (m.roleid = b.oid) WHERE m.member = r.oid) FROM pg_catalog.pg_roles r WHERE r.rolname = '{{ test_user1 }}'"
+  register: result
+
+- assert:
+    that:
+    - result.query_result.0.array == ['{{ test_group2 }}', '{{ test_group3 }}']
+
+- name: Change groups 2 again
+  become_user: "{{ pg_user }}"
+  become: true
+  postgresql_membership:
+    login_user: "{{ pg_user }}"
+    db: postgres
+    groups:
+    - "{{ test_group2 }}"
+    - "{{ test_group3 }}"
+    user: "{{ test_user1 }}"
+    state: exact
+  register: result
+
+- assert:
+    that:
+    - result is not changed
+    - result.queries == [],
+    - result.granted == {}
+    - result.revoked == {}
+
+
+- name: Check result of prev task
+  become_user: "{{ pg_user }}"
+  become: true
+  postgresql_query:
+    login_user: "{{ pg_user }}"
+    db: postgres
+    query: "SELECT ARRAY(SELECT b.rolname FROM pg_catalog.pg_auth_members m JOIN pg_catalog.pg_roles b ON (m.roleid = b.oid) WHERE m.member = r.oid) FROM pg_catalog.pg_roles r WHERE r.rolname = '{{ test_user1 }}'"
+  register: result
+
+- assert:
+    that:
+    - result.query_result.0.array == ['{{ test_group2 }}', '{{ test_group3 }}']
+
+- name: Change groups for two users
+  become_user: "{{ pg_user }}"
+  become: true
+  postgresql_membership:
+    login_user: "{{ pg_user }}"
+    db: postgres
+    groups:
+    - "{{ test_group1 }}"
+    - "{{ test_group2 }}"
+    - "{{ test_group3 }}"
+    users:
+    - "{{ test_user1 }}"
+    - "{{ test_user2 }}"
+    state: exact
+  register: result
+
+- assert:
+    that:
+    - result is changed
+    - result.queries == ["GRANT \"{{ test_group1 }}\" TO \"{{ test_user1 }}\"", "GRANT \"{{ test_group3 }}\" TO \"{{ test_user2 }}\""],
+    - result.granted["group1"] == ["{{ test_user1 }}"]
+    - result.granted["group.with.dots"] == ["{{ test_user2 }}"]
+    - result.revoked == {}
+
+- name: Check result of prev task for {{ test_user1 }}
+  become_user: "{{ pg_user }}"
+  become: true
+  postgresql_query:
+    login_user: "{{ pg_user }}"
+    db: postgres
+    query: "SELECT ARRAY(SELECT b.rolname FROM pg_catalog.pg_auth_members m JOIN pg_catalog.pg_roles b ON (m.roleid = b.oid) WHERE m.member = r.oid) FROM pg_catalog.pg_roles r WHERE r.rolname = '{{ test_user1 }}'"
+  register: result
+
+- assert:
+    that:
+    - result.query_result.0.array == ['{{ test_group1 }}', '{{ test_group2 }}', '{{ test_group3 }}']
+
+- name: Check result of prev task for {{ test_user2 }}
+  become_user: "{{ pg_user }}"
+  become: true
+  postgresql_query:
+    login_user: "{{ pg_user }}"
+    db: postgres
+    query: "SELECT ARRAY(SELECT b.rolname FROM pg_catalog.pg_auth_members m JOIN pg_catalog.pg_roles b ON (m.roleid = b.oid) WHERE m.member = r.oid) FROM pg_catalog.pg_roles r WHERE r.rolname = '{{ test_user2 }}'"
+  register: result
+
+- assert:
+    that:
+    - result.query_result.0.array == ['{{ test_group1 }}', '{{ test_group2 }}', '{{ test_group3 }}']
+
+- name: Change groups for two users 2
+  become_user: "{{ pg_user }}"
+  become: true
+  postgresql_membership:
+    login_user: "{{ pg_user }}"
+    db: postgres
+    groups:
+    - "{{ test_group2 }}"
+    - "{{ test_group3 }}"
+    users:
+    - "{{ test_user1 }}"
+    - "{{ test_user2 }}"
+    state: exact
+  register: result
+
+- assert:
+    that:
+    - result is changed
+    - result.queries == ["REVOKE \"{{ test_group1 }}\" FROM \"{{ test_user1 }}\"", "REVOKE \"{{ test_group1 }}\" FROM \"{{ test_user2 }}\""],
+    - result.revoked["group1"] == ["{{ test_user1 }}", "{{ test_user2 }}"]
+    - result.granted == {}
+
+- name: Check result of prev task for {{ test_user1 }}
+  become_user: "{{ pg_user }}"
+  become: true
+  postgresql_query:
+    login_user: "{{ pg_user }}"
+    db: postgres
+    query: "SELECT ARRAY(SELECT b.rolname FROM pg_catalog.pg_auth_members m JOIN pg_catalog.pg_roles b ON (m.roleid = b.oid) WHERE m.member = r.oid) FROM pg_catalog.pg_roles r WHERE r.rolname = '{{ test_user1 }}'"
+  register: result
+
+- assert:
+    that:
+    - result.query_result.0.array == ['{{ test_group2 }}', '{{ test_group3 }}']
+
+- name: Check result of prev task for {{ test_user2 }}
+  become_user: "{{ pg_user }}"
+  become: true
+  postgresql_query:
+    login_user: "{{ pg_user }}"
+    db: postgres
+    query: "SELECT ARRAY(SELECT b.rolname FROM pg_catalog.pg_auth_members m JOIN pg_catalog.pg_roles b ON (m.roleid = b.oid) WHERE m.member = r.oid) FROM pg_catalog.pg_roles r WHERE r.rolname = '{{ test_user2 }}'"
+  register: result
+
+- assert:
+    that:
+    - result.query_result.0.array == ['{{ test_group2 }}', '{{ test_group3 }}']
diff --git a/tests/integration/targets/postgresql_query/tasks/postgresql_query_initial.yml b/tests/integration/targets/postgresql_query/tasks/postgresql_query_initial.yml
new file mode 100644
index 00000000..f15f4ae8
--- /dev/null
+++ b/tests/integration/targets/postgresql_query/tasks/postgresql_query_initial.yml
@@ -0,0 +1,585 @@
+- vars:
+    pg_parameters: &pg_parameters
+      login_user: '{{ pg_user }}'
+      login_db: postgres
+      connect_params:
+        connect_timeout: 30
+
+  block:
+
+  - name: postgresql_query - drop test table if exists
+    become_user: '{{ pg_user }}'
+    become: true
+    shell: psql postgres -U "{{ pg_user }}" -t -c "DROP TABLE IF EXISTS test_table;"
+    ignore_errors: true
+
+  - name: postgresql_query - create test table called test_table
+    become_user: '{{ pg_user }}'
+    become: true
+    shell: psql postgres -U "{{ pg_user }}" -t -c "CREATE TABLE test_table (id int, story text);"
+    ignore_errors: true
+
+  - name: postgresql_query - insert some data into test_table
+    become_user: '{{ pg_user }}'
+    become: true
+    shell: psql postgres -U "{{ pg_user }}" -t -c "INSERT INTO test_table (id, story) VALUES (1, 'first'), (2, 'second'), (3, 'third');"
+    ignore_errors: true
+
+  - name: Copy script files
+    become: true
+    copy:
+      src: '{{ item }}'
+      dest: '~{{ pg_user }}/{{ item }}'
+      owner: '{{ pg_user }}'
+      force: true
+    loop:
+    - test0.sql
+    - test1.sql
+    register: sql_file_created
+    ignore_errors: true
+
+  - name: postgresql_query - analyze test_table
+    become_user: '{{ pg_user }}'
+    become: true
+    postgresql_query:
+      <<: *pg_parameters
+      query: ANALYZE test_table
+    register: result
+    ignore_errors: true
+
+  - assert:
+      that:
+      - result is changed
+      - result.query == 'ANALYZE test_table'
+      - result.query_list == ['ANALYZE test_table']
+      - result.rowcount == 0
+      - result.statusmessage == 'ANALYZE'
+      - result.query_result == {}
+      - result.query_all_results == [{}]
+
+  - name: postgresql_query - run queries from SQL script
+    become_user: '{{ pg_user }}'
+    become: true
+    postgresql_query:
+      <<: *pg_parameters
+      path_to_script: ~{{ pg_user }}/test0.sql
+      positional_args:
+      - 1
+      encoding: UTF-8
+      as_single_query: false
+    register: result
+    ignore_errors: true
+    when: sql_file_created
+
+  - assert:
+      that:
+      - result is not changed
+      - result.query == "\n\nSELECT story FROM test_table\n  WHERE id = 1 OR story = 'Данные'"
+      - result.query_result[0].story == 'first'
+      - result.rowcount == 2
+      - result.statusmessage == 'SELECT 1' or result.statusmessage == 'SELECT'
+    when: sql_file_created
+
+  - name: postgresql_query - simple select query to test_table
+    become_user: '{{ pg_user }}'
+    become: true
+    postgresql_query:
+      <<: *pg_parameters
+      query: SELECT * FROM test_table
+    register: result
+    ignore_errors: true
+
+  - assert:
+      that:
+      - result is not changed
+      - result.query == 'SELECT * FROM test_table'
+      - result.rowcount == 3
+      - result.statusmessage == 'SELECT 3' or result.statusmessage == 'SELECT'
+      - result.query_result[0].id == 1
+      - result.query_result[1].id == 2
+      - result.query_result[2].id == 3
+      - result.query_result[0].story == 'first'
+      - result.query_result[1].story == 'second'
+      - result.query_result[2].story == 'third'
+
+  - name: postgresql_query - select query with named args
+    become_user: '{{ pg_user }}'
+    become: true
+    postgresql_query:
+      <<: *pg_parameters
+      query: SELECT id FROM test_table WHERE id = %(id_val)s AND story = %(story_val)s
+      named_args:
+        id_val: 1
+        story_val: first
+    register: result
+    ignore_errors: true
+
+  - assert:
+      that:
+      - result is not changed
+      - result.query == "SELECT id FROM test_table WHERE id = 1 AND story = 'first'" or result.query == "SELECT id FROM test_table WHERE id = 1 AND story = E'first'"
+      - result.rowcount == 1
+      - result.statusmessage == 'SELECT 1' or result.statusmessage == 'SELECT'
+      - result.query_result[0].id == 1
+
+  - name: postgresql_query - select query with positional arguments
+    become_user: '{{ pg_user }}'
+    become: true
+    postgresql_query:
+      <<: *pg_parameters
+      query: SELECT story FROM test_table WHERE id = %s AND story = %s
+      positional_args:
+      - 2
+      - second
+    register: result
+    ignore_errors: true
+
+  - assert:
+      that:
+      - result is not changed
+      - result.query == "SELECT story FROM test_table WHERE id = 2 AND story = 'second'" or result.query == "SELECT story FROM test_table WHERE id = 2 AND story = E'second'"
+      - result.rowcount == 1
+      - result.statusmessage == 'SELECT 1' or result.statusmessage == 'SELECT'
+      - result.query_result[0].story == 'second'
+
+  - name: postgresql_query - simple update query
+    become_user: '{{ pg_user }}'
+    become: true
+    postgresql_query:
+      <<: *pg_parameters
+      query: UPDATE test_table SET story = 'new' WHERE id = 3
+    register: result
+    ignore_errors: true
+
+  - assert:
+      that:
+      - result is changed
+      - result.query == "UPDATE test_table SET story = 'new' WHERE id = 3"
+      - result.rowcount == 1
+      - result.statusmessage == 'UPDATE 1'
+      - result.query_result == {}
+
+  - name: check the previous update
+    become_user: '{{ pg_user }}'
+    become: true
+    postgresql_query:
+      <<: *pg_parameters
+      query: SELECT * FROM test_table WHERE story = 'new' AND id = 3
+    register: result
+
+  - assert:
+      that:
+      - result.rowcount == 1
+
+  - name: postgresql_query - simple update query in check_mode
+    become_user: '{{ pg_user }}'
+    become: true
+    postgresql_query:
+      <<: *pg_parameters
+      query: UPDATE test_table SET story = 'CHECK_MODE' WHERE id = 3
+    register: result
+    check_mode: true
+
+  - assert:
+      that:
+      - result is changed
+      - result.query == "UPDATE test_table SET story = 'CHECK_MODE' WHERE id = 3"
+      - result.rowcount == 1
+      - result.statusmessage == 'UPDATE 1'
+      - result.query_result == {}
+
+  - name: check the previous update that nothing has been changed
+    become_user: '{{ pg_user }}'
+    become: true
+    postgresql_query:
+      <<: *pg_parameters
+      query: SELECT * FROM test_table WHERE story = 'CHECK_MODE' AND id = 3
+    register: result
+
+  - assert:
+      that:
+      - result.rowcount == 0
+
+  - name: postgresql_query - try to update not existing row
+    become_user: '{{ pg_user }}'
+    become: true
+    postgresql_query:
+      <<: *pg_parameters
+      query: UPDATE test_table SET story = 'new' WHERE id = 100
+    register: result
+    ignore_errors: true
+
+  - assert:
+      that:
+      - result is not changed
+      - result.query == "UPDATE test_table SET story = 'new' WHERE id = 100"
+      - result.rowcount == 0
+      - result.statusmessage == 'UPDATE 0'
+      - result.query_result == {}
+
+  - name: postgresql_query - insert query
+    become_user: '{{ pg_user }}'
+    become: true
+    postgresql_query:
+      <<: *pg_parameters
+      query: INSERT INTO test_table (id, story) VALUES (%s, %s)
+      positional_args:
+      - 4
+      - fourth
+    register: result
+    ignore_errors: true
+
+  - assert:
+      that:
+      - result is changed
+      - result.query == "INSERT INTO test_table (id, story) VALUES (4, 'fourth')" or result.query == "INSERT INTO test_table (id, story) VALUES (4, E'fourth')"
+      - result.rowcount == 1
+      - result.statusmessage == 'INSERT 0 1'
+      - result.query_result == {}
+
+  - name: postgresql_query - truncate test_table
+    become_user: '{{ pg_user }}'
+    become: true
+    postgresql_query:
+      <<: *pg_parameters
+      query: TRUNCATE test_table
+    register: result
+    ignore_errors: true
+
+  - assert:
+      that:
+      - result is changed
+      - result.query == "TRUNCATE test_table"
+      - result.rowcount == 0
+      - result.statusmessage == 'TRUNCATE TABLE'
+      - result.query_result == {}
+
+  - name: postgresql_query - alter test_table
+    become_user: '{{ pg_user }}'
+    become: true
+    postgresql_query:
+      <<: *pg_parameters
+      query: ALTER TABLE test_table ADD COLUMN foo int
+    register: result
+    ignore_errors: true
+
+  - assert:
+      that:
+      - result is changed
+      - result.query == "ALTER TABLE test_table ADD COLUMN foo int"
+      - result.rowcount == 0
+      - result.statusmessage == 'ALTER TABLE'
+
+  - name: postgresql_query - vacuum without autocommit must fail
+    become_user: '{{ pg_user }}'
+    become: true
+    postgresql_query:
+      <<: *pg_parameters
+      query: VACUUM
+    register: result
+    ignore_errors: true
+
+  - assert:
+      that:
+      - result.failed == true
+
+  - name: postgresql_query - autocommit in check_mode must fail
+    become_user: '{{ pg_user }}'
+    become: true
+    postgresql_query:
+      <<: *pg_parameters
+      query: VACUUM
+      autocommit: true
+    check_mode: true
+    register: result
+    ignore_errors: true
+
+  - assert:
+      that:
+      - result.failed == true
+      - result.msg == "Using autocommit is mutually exclusive with check_mode"
+
+  - name: postgresql_query - vacuum with autocommit
+    become_user: '{{ pg_user }}'
+    become: true
+    postgresql_query:
+      <<: *pg_parameters
+      query: VACUUM
+      autocommit: true
+    register: result
+
+  - assert:
+      that:
+      - result is changed
+      - result.query == "VACUUM"
+      - result.rowcount == 0
+      - result.statusmessage == 'VACUUM'
+      - result.query_result == {}
+
+  - name: postgresql_query - create test table for issue 59955
+    become_user: '{{ pg_user }}'
+    become: true
+    postgresql_table:
+      login_user: '{{ pg_user }}'
+      login_db: postgres
+      name: test_array_table
+      columns:
+      - arr_col int[]
+    when: postgres_version_resp.stdout is version('9.4', '>=')
+
+  - set_fact:
+      my_list:
+      - 1
+      - 2
+      - 3
+      my_arr: '{1, 2, 3}'
+    when: postgres_version_resp.stdout is version('9.4', '>=')
+
+  - name: postgresql_query - insert array into test table by positional args
+    become_user: '{{ pg_user }}'
+    become: true
+    postgresql_query:
+      <<: *pg_parameters
+      query: INSERT INTO test_array_table (arr_col) VALUES (%s)
+      positional_args:
+      - '{{ my_list }}'
+    register: result
+    when: postgres_version_resp.stdout is version('9.4', '>=')
+
+  - assert:
+      that:
+      - result is changed
+      - result.query == "INSERT INTO test_array_table (arr_col) VALUES ('{1, 2, 3}')"
+    when: postgres_version_resp.stdout is version('9.4', '>=')
+
+  - name: postgresql_query - select array from test table by passing positional_args
+    become_user: '{{ pg_user }}'
+    become: true
+    postgresql_query:
+      <<: *pg_parameters
+      query: SELECT * FROM test_array_table WHERE arr_col = %s
+      positional_args:
+      - '{{ my_list }}'
+    register: result
+    when: postgres_version_resp.stdout is version('9.4', '>=')
+
+  - assert:
+      that:
+      - result is not changed
+      - result.query == "SELECT * FROM test_array_table WHERE arr_col = '{1, 2, 3}'"
+      - result.rowcount == 1
+    when: postgres_version_resp.stdout is version('9.4', '>=')
+
+  - name: postgresql_query - select array from test table by passing named_args
+    become_user: '{{ pg_user }}'
+    become: true
+    postgresql_query:
+      <<: *pg_parameters
+      query: SELECT * FROM test_array_table WHERE arr_col = %(arr_val)s
+      named_args:
+        arr_val:
+        - '{{ my_list }}'
+    register: result
+    when: postgres_version_resp.stdout is version('9.4', '>=')
+
+  - assert:
+      that:
+      - result is not changed
+      - result.query == "SELECT * FROM test_array_table WHERE arr_col = '{1, 2, 3}'"
+      - result.rowcount == 1
+    when: postgres_version_resp.stdout is version('9.4', '>=')
+
+  - name: postgresql_query - select array from test table by passing positional_args as a string
+    become_user: '{{ pg_user }}'
+    become: true
+    postgresql_query:
+      <<: *pg_parameters
+      query: SELECT * FROM test_array_table WHERE arr_col = %s
+      positional_args:
+      - '{{ my_arr|string }}'
+      trust_input: true
+    register: result
+    when: postgres_version_resp.stdout is version('9.4', '>=')
+
+  - assert:
+      that:
+      - result is not changed
+      - result.query == "SELECT * FROM test_array_table WHERE arr_col = '{1, 2, 3}'"
+      - result.rowcount == 1
+    when: postgres_version_resp.stdout is version('9.4', '>=')
+
+  - name: postgresql_query - test trust_input parameter
+    become_user: '{{ pg_user }}'
+    become: true
+    postgresql_query:
+      <<: *pg_parameters
+      session_role: 'curious.anonymous"; SELECT * FROM information_schema.tables; --'
+      query: SELECT version()
+      trust_input: false
+    ignore_errors: true
+    register: result
+
+  - assert:
+      that:
+      - result is failed
+      - result.msg is search('is potentially dangerous')
+
+  - name: postgresql_query - clean up
+    become_user: '{{ pg_user }}'
+    become: true
+    postgresql_table:
+      login_user: '{{ pg_user }}'
+      login_db: postgres
+      name: test_array_table
+      state: absent
+    when: postgres_version_resp.stdout is version('9.4', '>=')
+
+  #############################
+  # Check search_path parameter
+
+  - name: postgresql_set - create test schemas
+    become_user: '{{ pg_user }}'
+    become: true
+    postgresql_schema:
+      login_user: '{{ pg_user }}'
+      login_db: postgres
+      name: '{{ item }}'
+    loop:
+    - query_test1
+    - query_test2
+
+  - name: postgresql_set - create test tables
+    become_user: '{{ pg_user }}'
+    become: true
+    postgresql_table:
+      login_user: '{{ pg_user }}'
+      login_db: postgres
+      name: '{{ item }}'
+      columns:
+      - id int
+    loop:
+    - 'query_test1.test1'
+    - 'query_test2.test2'
+
+  - name: postgresql_query - insert data
+    become_user: '{{ pg_user }}'
+    become: true
+    postgresql_query:
+      <<: *pg_parameters
+      query: 'INSERT INTO {{ item }} (id) VALUES (1)'
+      search_path:
+      - query_test1
+      - query_test2
+    loop:
+    - test1
+    - test2
+
+  - name: postgresql_query - get data
+    become_user: '{{ pg_user }}'
+    become: true
+    postgresql_query:
+      <<: *pg_parameters
+      query: 'SELECT id FROM test1'
+      search_path:
+      - query_test1
+      - query_test2
+    register: result
+
+  - assert:
+      that:
+      - result.rowcount == 1
+
+  - name: postgresql_query - get data, must fail
+    become_user: '{{ pg_user }}'
+    become: true
+    postgresql_query:
+      <<: *pg_parameters
+      query: 'SELECT id FROM test1'
+    register: result
+    ignore_errors: true
+
+  - assert:
+      that:
+      - result is failed
+
+  # Tests for the as_single_query option
+  - name: Run queries from SQL script as a single query
+    become_user: '{{ pg_user }}'
+    become: true
+    postgresql_query:
+      <<: *pg_parameters
+      path_to_script: ~{{ pg_user }}/test1.sql
+      positional_args:
+      - 1
+      encoding: UTF-8
+      as_single_query: true
+    register: result
+
+  - name: >
+      Must pass. Not changed because we can only
+      check statusmessage of the last query
+    assert:
+      that:
+      - result is not changed
+      - result.statusmessage == 'SELECT 1' or result.statusmessage == 'SELECT'
+      - result.query_list[0] == "CREATE FUNCTION add(integer, integer) RETURNS integer\n  AS 'select $1 + $2;'\n  LANGUAGE SQL\n  IMMUTABLE\n  RETURNS NULL ON NULL INPUT;\n\nSELECT story FROM test_table\n  WHERE id = %s OR story = 'Данные';\n\nSELECT version();\n"
+
+  #############################################################################
+  # Issue https://github.com/ansible-collections/community.postgresql/issues/45
+  - name: Create table containing a decimal value
+    become_user: '{{ pg_user }}'
+    become: true
+    postgresql_query:
+      <<: *pg_parameters
+      query: CREATE TABLE blabla (id int, num decimal)
+
+  - name: Insert data
+    become_user: '{{ pg_user }}'
+    become: true
+    postgresql_query:
+      <<: *pg_parameters
+      query: INSERT INTO blabla (id, num) VALUES (1, 1::decimal)
+
+  - name: Get data
+    become_user: '{{ pg_user }}'
+    become: true
+    postgresql_query:
+      <<: *pg_parameters
+      query: SELECT * FROM blabla
+    register: result
+
+  - assert:
+      that:
+      - result.rowcount == 1
+
+  #############################################################################
+  # Issue https://github.com/ansible-collections/community.postgresql/issues/47
+  - name: Get datetime.timedelta value
+    become_user: '{{ pg_user }}'
+    become: true
+    postgresql_query:
+      <<: *pg_parameters
+      query: "SELECT EXTRACT(epoch from make_interval(secs => 3)) AS extract"
+    register: result
+    when: postgres_version_resp.stdout is version('10', '>=')
+
+  - assert:
+      that:
+      - result.rowcount == 1
+      - result.query_result[0]["extract"] == 3 or result.query_result[0]["extract"] == 3.0
+    when: postgres_version_resp.stdout is version('10', '>=')
+
+  - name: Get interval value
+    become_user: '{{ pg_user }}'
+    become: true
+    postgresql_query:
+      <<: *pg_parameters
+      query: "SELECT make_interval(secs => 3)"
+    register: result
+    when: postgres_version_resp.stdout is version('10', '>=')
+
+  - assert:
+      that:
+      - result.rowcount == 1
+      - result.query_result[0]["make_interval"] == "0:00:03"
+    when: postgres_version_resp.stdout is version('10', '>=')

From 1fb5da37122c5a0bd869b8ace727d63bb8d91313 Mon Sep 17 00:00:00 2001
From: Douglas J Hunley <doug.hunley@gmail.com>
Date: Mon, 29 Aug 2022 10:20:57 -0400
Subject: [PATCH 5/7] fix: update argspec to match docs

---
 plugins/modules/postgresql_query.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/plugins/modules/postgresql_query.py b/plugins/modules/postgresql_query.py
index 0ba19146..2ceae72a 100644
--- a/plugins/modules/postgresql_query.py
+++ b/plugins/modules/postgresql_query.py
@@ -370,7 +370,7 @@ def main():
         encoding=dict(type='str'),
         trust_input=dict(type='bool', default=True),
         search_path=dict(type='list', elements='str'),
-        as_single_query=dict(type='bool'),
+        as_single_query=dict(type='bool', default=True),
     )
 
     module = AnsibleModule(

From cf71cebcb09dfa7b605ebc2ef04fa12cfd4724ec Mon Sep 17 00:00:00 2001
From: Douglas J Hunley <doug.hunley@gmail.com>
Date: Fri, 9 Sep 2022 09:36:15 -0400
Subject: [PATCH 6/7] fix: backport of #337

---
 plugins/modules/postgresql_pg_hba.py          |    2 +-
 plugins/modules/postgresql_ping.py            |    2 +-
 plugins/modules/postgresql_query.py           |    9 +-
 .../tasks/postgresql_db_initial.yml           |    2 +-
 .../tasks/state_dump_restore.yml              |    2 +-
 .../tasks/postgresql_membership_initial.yml   |  346 -----
 .../tasks/pg_authid_not_readable.yml          |    4 +-
 .../tasks/postgresql_privs_initial.yml        |    4 +-
 .../tasks/postgresql_query_initial.yml        | 1187 +++++++++--------
 .../tasks/postgresql_user_initial.yml         |    4 +-
 .../postgresql_user/tasks/test_password.yml   |   40 +-
 11 files changed, 637 insertions(+), 965 deletions(-)

diff --git a/plugins/modules/postgresql_pg_hba.py b/plugins/modules/postgresql_pg_hba.py
index 86bc0aac..4a8d50f1 100644
--- a/plugins/modules/postgresql_pg_hba.py
+++ b/plugins/modules/postgresql_pg_hba.py
@@ -580,7 +580,7 @@ def source(self):
             try:
                 return ipaddress.ip_network(u'{0}'.format(sourcenw), strict=False)
             except ValueError:
-                raise PgHbaValueError('{0} is not valid address range'.format(sourcenw))
+                raise PgHbaValueError('{0} is not a valid address range'.format(sourcenw))
 
         try:
             return ipaddress.ip_network(u'{0}'.format(self['src']), strict=False)
diff --git a/plugins/modules/postgresql_ping.py b/plugins/modules/postgresql_ping.py
index 9a475f63..ef65de91 100644
--- a/plugins/modules/postgresql_ping.py
+++ b/plugins/modules/postgresql_ping.py
@@ -69,7 +69,7 @@
 # You can use the registered result with another task
 - name: This task should be executed only if the server is available
   # ...
-  when: result.is_available == true
+  when: result.is_available
 '''
 
 RETURN = r'''
diff --git a/plugins/modules/postgresql_query.py b/plugins/modules/postgresql_query.py
index 2ceae72a..03ced09a 100644
--- a/plugins/modules/postgresql_query.py
+++ b/plugins/modules/postgresql_query.py
@@ -87,13 +87,8 @@
     version_added: '1.0.0'
   as_single_query:
     description:
-    - This option has been B(deprecated) and will be removed in community.postgresql 3.0.0,
-      please use the M(community.postgresql.postgresql_script) module to execute
-      statements from scripts.
     - If C(true), when reading from the I(path_to_script) file,
-      executes its whole content in a single query (not splitting it up
-      into separate queries by semicolons). It brings the following changes in
-      the module's behavior.
+      executes its whole content in a single query.
     - When C(true), the C(query_all_results) return value
       contains only the result of the last statement.
     - Whether the state is reported as changed or not
@@ -370,7 +365,7 @@ def main():
         encoding=dict(type='str'),
         trust_input=dict(type='bool', default=True),
         search_path=dict(type='list', elements='str'),
-        as_single_query=dict(type='bool', default=True),
+        as_single_query=dict(type='bool'),
     )
 
     module = AnsibleModule(
diff --git a/tests/integration/targets/postgresql_db/tasks/postgresql_db_initial.yml b/tests/integration/targets/postgresql_db/tasks/postgresql_db_initial.yml
index 472524a2..8babc056 100644
--- a/tests/integration/targets/postgresql_db/tasks/postgresql_db_initial.yml
+++ b/tests/integration/targets/postgresql_db/tasks/postgresql_db_initial.yml
@@ -232,7 +232,7 @@
   become: true
   postgresql_user:
     name: "{{ item }}"
-    encrypted: 'true'
+    encrypted: true
     password: "md55c8ccfd9d6711fc69a7eae647fc54f51"
     login_user: "{{ pg_user }}"
     db: postgres
diff --git a/tests/integration/targets/postgresql_db/tasks/state_dump_restore.yml b/tests/integration/targets/postgresql_db/tasks/state_dump_restore.yml
index 0292ca31..54560592 100644
--- a/tests/integration/targets/postgresql_db/tasks/state_dump_restore.yml
+++ b/tests/integration/targets/postgresql_db/tasks/state_dump_restore.yml
@@ -25,7 +25,7 @@
   postgresql_user:
     name: "{{ db_user1 }}"
     state: "present"
-    encrypted: 'true'
+    encrypted: true
     password: "password"
     role_attr_flags: "CREATEDB,LOGIN,CREATEROLE"
     login_user: "{{ pg_user }}"
diff --git a/tests/integration/targets/postgresql_membership/tasks/postgresql_membership_initial.yml b/tests/integration/targets/postgresql_membership/tasks/postgresql_membership_initial.yml
index 3c8ef17a..7ed21b2b 100644
--- a/tests/integration/targets/postgresql_membership/tasks/postgresql_membership_initial.yml
+++ b/tests/integration/targets/postgresql_membership/tasks/postgresql_membership_initial.yml
@@ -388,349 +388,3 @@
     that:
     - result is failed
     - result.msg == 'Role {{ dangerous_name }} does not exist'
-
-########################
-# Tests for match method
-- name: Revoke all groups from a role check mode
-  become_user: "{{ pg_user }}"
-  become: true
-  postgresql_membership:
-    login_user: "{{ pg_user }}"
-    db: postgres
-    groups: []
-    user: "{{ test_user1 }}"
-    state: exact
-  register: result
-  check_mode: true
-
-- assert:
-    that:
-    - result is changed
-    - result.queries == ["REVOKE \"{{ test_group1 }}\" FROM \"{{ test_user1 }}\"", "REVOKE \"{{ test_group2 }}\" FROM \"{{ test_user1 }}\"", "REVOKE \"{{ test_group3 }}\" FROM \"{{ test_user1 }}\""],
-    - result.revoked["group.with.dots"] == ["{{ test_user1 }}"]
-    - result.revoked["group1"] == ["{{ test_user1 }}"]
-    - result.revoked["group2"] == ["{{ test_user1 }}"]
-    - result.granted == {}
-
-
-- name: Check result of prev task
-  become_user: "{{ pg_user }}"
-  become: true
-  postgresql_query:
-    login_user: "{{ pg_user }}"
-    db: postgres
-    query: "SELECT ARRAY(SELECT b.rolname FROM pg_catalog.pg_auth_members m JOIN pg_catalog.pg_roles b ON (m.roleid = b.oid) WHERE m.member = r.oid) FROM pg_catalog.pg_roles r WHERE r.rolname = '{{ test_user1 }}'"
-  register: result
-
-- assert:
-    that:
-    - result.query_result.0.array == ['{{ test_group1 }}', '{{ test_group2 }}', '{{ test_group3 }}']
-
-- name: Revoke all groups from a role actual mode
-  become_user: "{{ pg_user }}"
-  become: true
-  postgresql_membership:
-    login_user: "{{ pg_user }}"
-    db: postgres
-    groups: []
-    user: "{{ test_user1 }}"
-    state: exact
-  register: result
-
-- assert:
-    that:
-    - result is changed
-    - result.queries == ["REVOKE \"{{ test_group1 }}\" FROM \"{{ test_user1 }}\"", "REVOKE \"{{ test_group2 }}\" FROM \"{{ test_user1 }}\"", "REVOKE \"{{ test_group3 }}\" FROM \"{{ test_user1 }}\""],
-    - result.revoked["group.with.dots"] == ["{{ test_user1 }}"]
-    - result.revoked["group1"] == ["{{ test_user1 }}"]
-    - result.revoked["group2"] == ["{{ test_user1 }}"]
-    - result.granted == {}
-
-
-- name: Check result of prev task
-  become_user: "{{ pg_user }}"
-  become: true
-  postgresql_query:
-    login_user: "{{ pg_user }}"
-    db: postgres
-    query: "SELECT ARRAY(SELECT b.rolname FROM pg_catalog.pg_auth_members m JOIN pg_catalog.pg_roles b ON (m.roleid = b.oid) WHERE m.member = r.oid) FROM pg_catalog.pg_roles r WHERE r.rolname = '{{ test_user1 }}'"
-  register: result
-
-- assert:
-    that:
-    - result.query_result.0.array == []
-
-- name: Grant all groups to a role check mode
-  become_user: "{{ pg_user }}"
-  become: true
-  postgresql_membership:
-    login_user: "{{ pg_user }}"
-    db: postgres
-    groups:
-    - "{{ test_group1 }}"
-    - "{{ test_group2 }}"
-    - "{{ test_group3 }}"
-    user: "{{ test_user1 }}"
-    state: exact
-  register: result
-  check_mode: true
-
-- assert:
-    that:
-    - result is changed
-    - result.queries == ["GRANT \"{{ test_group1 }}\" TO \"{{ test_user1 }}\"", "GRANT \"{{ test_group2 }}\" TO \"{{ test_user1 }}\"", "GRANT \"{{ test_group3 }}\" TO \"{{ test_user1 }}\""],
-    - result.granted["group.with.dots"] == ["{{ test_user1 }}"]
-    - result.granted["group1"] == ["{{ test_user1 }}"]
-    - result.granted["group2"] == ["{{ test_user1 }}"]
-    - result.revoked == {}
-
-
-- name: Check result of prev task
-  become_user: "{{ pg_user }}"
-  become: true
-  postgresql_query:
-    login_user: "{{ pg_user }}"
-    db: postgres
-    query: "SELECT ARRAY(SELECT b.rolname FROM pg_catalog.pg_auth_members m JOIN pg_catalog.pg_roles b ON (m.roleid = b.oid) WHERE m.member = r.oid) FROM pg_catalog.pg_roles r WHERE r.rolname = '{{ test_user1 }}'"
-  register: result
-
-- assert:
-    that:
-    - result.query_result.0.array == []
-
-- name: Grant all groups to a role real mode
-  become_user: "{{ pg_user }}"
-  become: true
-  postgresql_membership:
-    login_user: "{{ pg_user }}"
-    db: postgres
-    groups:
-    - "{{ test_group1 }}"
-    - "{{ test_group2 }}"
-    - "{{ test_group3 }}"
-    user: "{{ test_user1 }}"
-    state: exact
-  register: result
-
-- assert:
-    that:
-    - result is changed
-    - result.queries == ["GRANT \"{{ test_group1 }}\" TO \"{{ test_user1 }}\"", "GRANT \"{{ test_group2 }}\" TO \"{{ test_user1 }}\"", "GRANT \"{{ test_group3 }}\" TO \"{{ test_user1 }}\""],
-    - result.granted["group.with.dots"] == ["{{ test_user1 }}"]
-    - result.granted["group1"] == ["{{ test_user1 }}"]
-    - result.granted["group2"] == ["{{ test_user1 }}"]
-    - result.revoked == {}
-
-
-- name: Check result of prev task
-  become_user: "{{ pg_user }}"
-  become: true
-  postgresql_query:
-    login_user: "{{ pg_user }}"
-    db: postgres
-    query: "SELECT ARRAY(SELECT b.rolname FROM pg_catalog.pg_auth_members m JOIN pg_catalog.pg_roles b ON (m.roleid = b.oid) WHERE m.member = r.oid) FROM pg_catalog.pg_roles r WHERE r.rolname = '{{ test_user1 }}'"
-  register: result
-
-- assert:
-    that:
-    - result.query_result.0.array == ['{{ test_group1 }}', '{{ test_group2 }}', '{{ test_group3 }}']
-
-- name: Change groups 1
-  become_user: "{{ pg_user }}"
-  become: true
-  postgresql_membership:
-    login_user: "{{ pg_user }}"
-    db: postgres
-    groups:
-    - "{{ test_group1 }}"
-    user: "{{ test_user1 }}"
-    state: exact
-  register: result
-
-- assert:
-    that:
-    - result is changed
-    - result.queries == ["REVOKE \"{{ test_group2 }}\" FROM \"{{ test_user1 }}\"", "REVOKE \"{{ test_group3 }}\" FROM \"{{ test_user1 }}\""],
-    - result.revoked["group.with.dots"] == ["{{ test_user1 }}"]
-    - result.revoked["group2"] == ["{{ test_user1 }}"]
-    - result.granted == {}
-
-
-- name: Check result of prev task
-  become_user: "{{ pg_user }}"
-  become: true
-  postgresql_query:
-    login_user: "{{ pg_user }}"
-    db: postgres
-    query: "SELECT ARRAY(SELECT b.rolname FROM pg_catalog.pg_auth_members m JOIN pg_catalog.pg_roles b ON (m.roleid = b.oid) WHERE m.member = r.oid) FROM pg_catalog.pg_roles r WHERE r.rolname = '{{ test_user1 }}'"
-  register: result
-
-- assert:
-    that:
-    - result.query_result.0.array == ['{{ test_group1 }}']
-
-- name: Change groups 2
-  become_user: "{{ pg_user }}"
-  become: true
-  postgresql_membership:
-    login_user: "{{ pg_user }}"
-    db: postgres
-    groups:
-    - "{{ test_group2 }}"
-    - "{{ test_group3 }}"
-    user: "{{ test_user1 }}"
-    state: exact
-  register: result
-
-- assert:
-    that:
-    - result is changed
-    - result.queries == ["REVOKE \"{{ test_group1 }}\" FROM \"{{ test_user1 }}\"", "GRANT \"{{ test_group2 }}\" TO \"{{ test_user1 }}\"", "GRANT \"{{ test_group3 }}\" TO \"{{ test_user1 }}\""],
-    - result.granted["group.with.dots"] == ["{{ test_user1 }}"]
-    - result.granted["group2"] == ["{{ test_user1 }}"]
-    - result.revoked["group1"] == ["{{ test_user1 }}"]
-
-- name: Check result of prev task
-  become_user: "{{ pg_user }}"
-  become: true
-  postgresql_query:
-    login_user: "{{ pg_user }}"
-    db: postgres
-    query: "SELECT ARRAY(SELECT b.rolname FROM pg_catalog.pg_auth_members m JOIN pg_catalog.pg_roles b ON (m.roleid = b.oid) WHERE m.member = r.oid) FROM pg_catalog.pg_roles r WHERE r.rolname = '{{ test_user1 }}'"
-  register: result
-
-- assert:
-    that:
-    - result.query_result.0.array == ['{{ test_group2 }}', '{{ test_group3 }}']
-
-- name: Change groups 2 again
-  become_user: "{{ pg_user }}"
-  become: true
-  postgresql_membership:
-    login_user: "{{ pg_user }}"
-    db: postgres
-    groups:
-    - "{{ test_group2 }}"
-    - "{{ test_group3 }}"
-    user: "{{ test_user1 }}"
-    state: exact
-  register: result
-
-- assert:
-    that:
-    - result is not changed
-    - result.queries == [],
-    - result.granted == {}
-    - result.revoked == {}
-
-
-- name: Check result of prev task
-  become_user: "{{ pg_user }}"
-  become: true
-  postgresql_query:
-    login_user: "{{ pg_user }}"
-    db: postgres
-    query: "SELECT ARRAY(SELECT b.rolname FROM pg_catalog.pg_auth_members m JOIN pg_catalog.pg_roles b ON (m.roleid = b.oid) WHERE m.member = r.oid) FROM pg_catalog.pg_roles r WHERE r.rolname = '{{ test_user1 }}'"
-  register: result
-
-- assert:
-    that:
-    - result.query_result.0.array == ['{{ test_group2 }}', '{{ test_group3 }}']
-
-- name: Change groups for two users
-  become_user: "{{ pg_user }}"
-  become: true
-  postgresql_membership:
-    login_user: "{{ pg_user }}"
-    db: postgres
-    groups:
-    - "{{ test_group1 }}"
-    - "{{ test_group2 }}"
-    - "{{ test_group3 }}"
-    users:
-    - "{{ test_user1 }}"
-    - "{{ test_user2 }}"
-    state: exact
-  register: result
-
-- assert:
-    that:
-    - result is changed
-    - result.queries == ["GRANT \"{{ test_group1 }}\" TO \"{{ test_user1 }}\"", "GRANT \"{{ test_group3 }}\" TO \"{{ test_user2 }}\""],
-    - result.granted["group1"] == ["{{ test_user1 }}"]
-    - result.granted["group.with.dots"] == ["{{ test_user2 }}"]
-    - result.revoked == {}
-
-- name: Check result of prev task for {{ test_user1 }}
-  become_user: "{{ pg_user }}"
-  become: true
-  postgresql_query:
-    login_user: "{{ pg_user }}"
-    db: postgres
-    query: "SELECT ARRAY(SELECT b.rolname FROM pg_catalog.pg_auth_members m JOIN pg_catalog.pg_roles b ON (m.roleid = b.oid) WHERE m.member = r.oid) FROM pg_catalog.pg_roles r WHERE r.rolname = '{{ test_user1 }}'"
-  register: result
-
-- assert:
-    that:
-    - result.query_result.0.array == ['{{ test_group1 }}', '{{ test_group2 }}', '{{ test_group3 }}']
-
-- name: Check result of prev task for {{ test_user2 }}
-  become_user: "{{ pg_user }}"
-  become: true
-  postgresql_query:
-    login_user: "{{ pg_user }}"
-    db: postgres
-    query: "SELECT ARRAY(SELECT b.rolname FROM pg_catalog.pg_auth_members m JOIN pg_catalog.pg_roles b ON (m.roleid = b.oid) WHERE m.member = r.oid) FROM pg_catalog.pg_roles r WHERE r.rolname = '{{ test_user2 }}'"
-  register: result
-
-- assert:
-    that:
-    - result.query_result.0.array == ['{{ test_group1 }}', '{{ test_group2 }}', '{{ test_group3 }}']
-
-- name: Change groups for two users 2
-  become_user: "{{ pg_user }}"
-  become: true
-  postgresql_membership:
-    login_user: "{{ pg_user }}"
-    db: postgres
-    groups:
-    - "{{ test_group2 }}"
-    - "{{ test_group3 }}"
-    users:
-    - "{{ test_user1 }}"
-    - "{{ test_user2 }}"
-    state: exact
-  register: result
-
-- assert:
-    that:
-    - result is changed
-    - result.queries == ["REVOKE \"{{ test_group1 }}\" FROM \"{{ test_user1 }}\"", "REVOKE \"{{ test_group1 }}\" FROM \"{{ test_user2 }}\""],
-    - result.revoked["group1"] == ["{{ test_user1 }}", "{{ test_user2 }}"]
-    - result.granted == {}
-
-- name: Check result of prev task for {{ test_user1 }}
-  become_user: "{{ pg_user }}"
-  become: true
-  postgresql_query:
-    login_user: "{{ pg_user }}"
-    db: postgres
-    query: "SELECT ARRAY(SELECT b.rolname FROM pg_catalog.pg_auth_members m JOIN pg_catalog.pg_roles b ON (m.roleid = b.oid) WHERE m.member = r.oid) FROM pg_catalog.pg_roles r WHERE r.rolname = '{{ test_user1 }}'"
-  register: result
-
-- assert:
-    that:
-    - result.query_result.0.array == ['{{ test_group2 }}', '{{ test_group3 }}']
-
-- name: Check result of prev task for {{ test_user2 }}
-  become_user: "{{ pg_user }}"
-  become: true
-  postgresql_query:
-    login_user: "{{ pg_user }}"
-    db: postgres
-    query: "SELECT ARRAY(SELECT b.rolname FROM pg_catalog.pg_auth_members m JOIN pg_catalog.pg_roles b ON (m.roleid = b.oid) WHERE m.member = r.oid) FROM pg_catalog.pg_roles r WHERE r.rolname = '{{ test_user2 }}'"
-  register: result
-
-- assert:
-    that:
-    - result.query_result.0.array == ['{{ test_group2 }}', '{{ test_group3 }}']
diff --git a/tests/integration/targets/postgresql_privs/tasks/pg_authid_not_readable.yml b/tests/integration/targets/postgresql_privs/tasks/pg_authid_not_readable.yml
index 3f810d47..b5e6870c 100644
--- a/tests/integration/targets/postgresql_privs/tasks/pg_authid_not_readable.yml
+++ b/tests/integration/targets/postgresql_privs/tasks/pg_authid_not_readable.yml
@@ -3,7 +3,7 @@
   become: true
   postgresql_user:
     name: "{{ db_user1 }}"
-    encrypted: 'true'
+    encrypted: true
     password: "md5{{ (db_password ~ db_user1) | hash('md5')}}"
     db: "{{ db_name }}"
     priv: 'test_table1:INSERT,SELECT,UPDATE,DELETE,TRUNCATE,REFERENCES,TRIGGER/test_table2:INSERT/CREATE,CONNECT,TEMP'
@@ -34,7 +34,7 @@
   become: true
   postgresql_user:
     name: "{{ db_user1 }}"
-    encrypted: 'true'
+    encrypted: true
     password: "md5{{ (db_password ~ db_user1) | hash('md5')}}"
     db: "{{ db_name }}"
     priv: 'test_table1:INSERT,SELECT,UPDATE,DELETE,TRUNCATE,REFERENCES,TRIGGER/test_table2:INSERT/CREATE,CONNECT,TEMP'
diff --git a/tests/integration/targets/postgresql_privs/tasks/postgresql_privs_initial.yml b/tests/integration/targets/postgresql_privs/tasks/postgresql_privs_initial.yml
index 814bc348..87b0b8c0 100644
--- a/tests/integration/targets/postgresql_privs/tasks/postgresql_privs_initial.yml
+++ b/tests/integration/targets/postgresql_privs/tasks/postgresql_privs_initial.yml
@@ -30,7 +30,7 @@
       become: true
       postgresql_user:
         name: "{{ db_user1 }}"
-        encrypted: 'true'
+        encrypted: true
         password: "md5{{ (db_password ~ db_user1) | hash('md5')}}"
         db: "{{ db_name }}"
         priv: 'test_table1:INSERT,SELECT,UPDATE,DELETE,TRUNCATE,REFERENCES,TRIGGER/test_table2:INSERT/CREATE,CONNECT,TEMP'
@@ -76,7 +76,7 @@
   become: true
   postgresql_user:
     name: "{{ db_user1 }}"
-    encrypted: 'true'
+    encrypted: true
     password: "md55c8ccfd9d6711fc69a7eae647fc54f51"
     db: "{{ db_name }}"
     priv: 'test_table2:select'
diff --git a/tests/integration/targets/postgresql_query/tasks/postgresql_query_initial.yml b/tests/integration/targets/postgresql_query/tasks/postgresql_query_initial.yml
index f15f4ae8..fb2340d7 100644
--- a/tests/integration/targets/postgresql_query/tasks/postgresql_query_initial.yml
+++ b/tests/integration/targets/postgresql_query/tasks/postgresql_query_initial.yml
@@ -1,585 +1,608 @@
-- vars:
-    pg_parameters: &pg_parameters
-      login_user: '{{ pg_user }}'
-      login_db: postgres
-      connect_params:
-        connect_timeout: 30
-
-  block:
-
-  - name: postgresql_query - drop test table if exists
-    become_user: '{{ pg_user }}'
-    become: true
-    shell: psql postgres -U "{{ pg_user }}" -t -c "DROP TABLE IF EXISTS test_table;"
-    ignore_errors: true
-
-  - name: postgresql_query - create test table called test_table
-    become_user: '{{ pg_user }}'
-    become: true
-    shell: psql postgres -U "{{ pg_user }}" -t -c "CREATE TABLE test_table (id int, story text);"
-    ignore_errors: true
-
-  - name: postgresql_query - insert some data into test_table
-    become_user: '{{ pg_user }}'
-    become: true
-    shell: psql postgres -U "{{ pg_user }}" -t -c "INSERT INTO test_table (id, story) VALUES (1, 'first'), (2, 'second'), (3, 'third');"
-    ignore_errors: true
-
-  - name: Copy script files
-    become: true
-    copy:
-      src: '{{ item }}'
-      dest: '~{{ pg_user }}/{{ item }}'
-      owner: '{{ pg_user }}'
-      force: true
-    loop:
-    - test0.sql
-    - test1.sql
-    register: sql_file_created
-    ignore_errors: true
-
-  - name: postgresql_query - analyze test_table
-    become_user: '{{ pg_user }}'
-    become: true
-    postgresql_query:
-      <<: *pg_parameters
-      query: ANALYZE test_table
-    register: result
-    ignore_errors: true
-
-  - assert:
-      that:
-      - result is changed
-      - result.query == 'ANALYZE test_table'
-      - result.query_list == ['ANALYZE test_table']
-      - result.rowcount == 0
-      - result.statusmessage == 'ANALYZE'
-      - result.query_result == {}
-      - result.query_all_results == [{}]
-
-  - name: postgresql_query - run queries from SQL script
-    become_user: '{{ pg_user }}'
-    become: true
-    postgresql_query:
-      <<: *pg_parameters
-      path_to_script: ~{{ pg_user }}/test0.sql
-      positional_args:
-      - 1
-      encoding: UTF-8
-      as_single_query: false
-    register: result
-    ignore_errors: true
-    when: sql_file_created
-
-  - assert:
-      that:
-      - result is not changed
-      - result.query == "\n\nSELECT story FROM test_table\n  WHERE id = 1 OR story = 'Данные'"
-      - result.query_result[0].story == 'first'
-      - result.rowcount == 2
-      - result.statusmessage == 'SELECT 1' or result.statusmessage == 'SELECT'
-    when: sql_file_created
-
-  - name: postgresql_query - simple select query to test_table
-    become_user: '{{ pg_user }}'
-    become: true
-    postgresql_query:
-      <<: *pg_parameters
-      query: SELECT * FROM test_table
-    register: result
-    ignore_errors: true
-
-  - assert:
-      that:
-      - result is not changed
-      - result.query == 'SELECT * FROM test_table'
-      - result.rowcount == 3
-      - result.statusmessage == 'SELECT 3' or result.statusmessage == 'SELECT'
-      - result.query_result[0].id == 1
-      - result.query_result[1].id == 2
-      - result.query_result[2].id == 3
-      - result.query_result[0].story == 'first'
-      - result.query_result[1].story == 'second'
-      - result.query_result[2].story == 'third'
-
-  - name: postgresql_query - select query with named args
-    become_user: '{{ pg_user }}'
-    become: true
-    postgresql_query:
-      <<: *pg_parameters
-      query: SELECT id FROM test_table WHERE id = %(id_val)s AND story = %(story_val)s
-      named_args:
-        id_val: 1
-        story_val: first
-    register: result
-    ignore_errors: true
-
-  - assert:
-      that:
-      - result is not changed
-      - result.query == "SELECT id FROM test_table WHERE id = 1 AND story = 'first'" or result.query == "SELECT id FROM test_table WHERE id = 1 AND story = E'first'"
-      - result.rowcount == 1
-      - result.statusmessage == 'SELECT 1' or result.statusmessage == 'SELECT'
-      - result.query_result[0].id == 1
-
-  - name: postgresql_query - select query with positional arguments
-    become_user: '{{ pg_user }}'
-    become: true
-    postgresql_query:
-      <<: *pg_parameters
-      query: SELECT story FROM test_table WHERE id = %s AND story = %s
-      positional_args:
-      - 2
-      - second
-    register: result
-    ignore_errors: true
-
-  - assert:
-      that:
-      - result is not changed
-      - result.query == "SELECT story FROM test_table WHERE id = 2 AND story = 'second'" or result.query == "SELECT story FROM test_table WHERE id = 2 AND story = E'second'"
-      - result.rowcount == 1
-      - result.statusmessage == 'SELECT 1' or result.statusmessage == 'SELECT'
-      - result.query_result[0].story == 'second'
-
-  - name: postgresql_query - simple update query
-    become_user: '{{ pg_user }}'
-    become: true
-    postgresql_query:
-      <<: *pg_parameters
-      query: UPDATE test_table SET story = 'new' WHERE id = 3
-    register: result
-    ignore_errors: true
-
-  - assert:
-      that:
-      - result is changed
-      - result.query == "UPDATE test_table SET story = 'new' WHERE id = 3"
-      - result.rowcount == 1
-      - result.statusmessage == 'UPDATE 1'
-      - result.query_result == {}
-
-  - name: check the previous update
-    become_user: '{{ pg_user }}'
-    become: true
-    postgresql_query:
-      <<: *pg_parameters
-      query: SELECT * FROM test_table WHERE story = 'new' AND id = 3
-    register: result
-
-  - assert:
-      that:
-      - result.rowcount == 1
-
-  - name: postgresql_query - simple update query in check_mode
-    become_user: '{{ pg_user }}'
-    become: true
-    postgresql_query:
-      <<: *pg_parameters
-      query: UPDATE test_table SET story = 'CHECK_MODE' WHERE id = 3
-    register: result
-    check_mode: true
-
-  - assert:
-      that:
-      - result is changed
-      - result.query == "UPDATE test_table SET story = 'CHECK_MODE' WHERE id = 3"
-      - result.rowcount == 1
-      - result.statusmessage == 'UPDATE 1'
-      - result.query_result == {}
-
-  - name: check the previous update that nothing has been changed
-    become_user: '{{ pg_user }}'
-    become: true
-    postgresql_query:
-      <<: *pg_parameters
-      query: SELECT * FROM test_table WHERE story = 'CHECK_MODE' AND id = 3
-    register: result
-
-  - assert:
-      that:
-      - result.rowcount == 0
-
-  - name: postgresql_query - try to update not existing row
-    become_user: '{{ pg_user }}'
-    become: true
-    postgresql_query:
-      <<: *pg_parameters
-      query: UPDATE test_table SET story = 'new' WHERE id = 100
-    register: result
-    ignore_errors: true
-
-  - assert:
-      that:
-      - result is not changed
-      - result.query == "UPDATE test_table SET story = 'new' WHERE id = 100"
-      - result.rowcount == 0
-      - result.statusmessage == 'UPDATE 0'
-      - result.query_result == {}
-
-  - name: postgresql_query - insert query
-    become_user: '{{ pg_user }}'
-    become: true
-    postgresql_query:
-      <<: *pg_parameters
-      query: INSERT INTO test_table (id, story) VALUES (%s, %s)
-      positional_args:
-      - 4
-      - fourth
-    register: result
-    ignore_errors: true
-
-  - assert:
-      that:
-      - result is changed
-      - result.query == "INSERT INTO test_table (id, story) VALUES (4, 'fourth')" or result.query == "INSERT INTO test_table (id, story) VALUES (4, E'fourth')"
-      - result.rowcount == 1
-      - result.statusmessage == 'INSERT 0 1'
-      - result.query_result == {}
-
-  - name: postgresql_query - truncate test_table
-    become_user: '{{ pg_user }}'
-    become: true
-    postgresql_query:
-      <<: *pg_parameters
-      query: TRUNCATE test_table
-    register: result
-    ignore_errors: true
-
-  - assert:
-      that:
-      - result is changed
-      - result.query == "TRUNCATE test_table"
-      - result.rowcount == 0
-      - result.statusmessage == 'TRUNCATE TABLE'
-      - result.query_result == {}
-
-  - name: postgresql_query - alter test_table
-    become_user: '{{ pg_user }}'
-    become: true
-    postgresql_query:
-      <<: *pg_parameters
-      query: ALTER TABLE test_table ADD COLUMN foo int
-    register: result
-    ignore_errors: true
-
-  - assert:
-      that:
-      - result is changed
-      - result.query == "ALTER TABLE test_table ADD COLUMN foo int"
-      - result.rowcount == 0
-      - result.statusmessage == 'ALTER TABLE'
-
-  - name: postgresql_query - vacuum without autocommit must fail
-    become_user: '{{ pg_user }}'
-    become: true
-    postgresql_query:
-      <<: *pg_parameters
-      query: VACUUM
-    register: result
-    ignore_errors: true
-
-  - assert:
-      that:
-      - result.failed == true
-
-  - name: postgresql_query - autocommit in check_mode must fail
-    become_user: '{{ pg_user }}'
-    become: true
-    postgresql_query:
-      <<: *pg_parameters
-      query: VACUUM
-      autocommit: true
-    check_mode: true
-    register: result
-    ignore_errors: true
-
-  - assert:
-      that:
-      - result.failed == true
-      - result.msg == "Using autocommit is mutually exclusive with check_mode"
-
-  - name: postgresql_query - vacuum with autocommit
-    become_user: '{{ pg_user }}'
-    become: true
-    postgresql_query:
-      <<: *pg_parameters
-      query: VACUUM
-      autocommit: true
-    register: result
-
-  - assert:
-      that:
-      - result is changed
-      - result.query == "VACUUM"
-      - result.rowcount == 0
-      - result.statusmessage == 'VACUUM'
-      - result.query_result == {}
-
-  - name: postgresql_query - create test table for issue 59955
-    become_user: '{{ pg_user }}'
-    become: true
-    postgresql_table:
-      login_user: '{{ pg_user }}'
-      login_db: postgres
-      name: test_array_table
-      columns:
-      - arr_col int[]
-    when: postgres_version_resp.stdout is version('9.4', '>=')
-
-  - set_fact:
-      my_list:
-      - 1
-      - 2
-      - 3
-      my_arr: '{1, 2, 3}'
-    when: postgres_version_resp.stdout is version('9.4', '>=')
-
-  - name: postgresql_query - insert array into test table by positional args
-    become_user: '{{ pg_user }}'
-    become: true
-    postgresql_query:
-      <<: *pg_parameters
-      query: INSERT INTO test_array_table (arr_col) VALUES (%s)
-      positional_args:
+- name: postgresql_query - drop test table if exists
+  become_user: '{{ pg_user }}'
+  become: true
+  shell: psql postgres -U "{{ pg_user }}" -t -c "DROP TABLE IF EXISTS test_table;"
+  ignore_errors: true
+
+- name: postgresql_query - create test table called test_table
+  become_user: '{{ pg_user }}'
+  become: true
+  shell: psql postgres -U "{{ pg_user }}" -t -c "CREATE TABLE test_table (id int, story text);"
+  ignore_errors: true
+
+- name: postgresql_query - insert some data into test_table
+  become_user: '{{ pg_user }}'
+  become: true
+  shell: psql postgres -U "{{ pg_user }}" -t -c "INSERT INTO test_table (id, story) VALUES (1, 'first'), (2, 'second'), (3, 'third');"
+  ignore_errors: true
+
+- name: Copy script files
+  become: true
+  copy:
+    src: '{{ item }}'
+    dest: '~{{ pg_user }}/{{ item }}'
+    owner: '{{ pg_user }}'
+    force: true
+  loop:
+  - test0.sql
+  - test1.sql
+  register: sql_file_created
+  ignore_errors: true
+
+- name: postgresql_query - analyze test_table
+  become_user: '{{ pg_user }}'
+  become: true
+  postgresql_query:
+    login_user: '{{ pg_user }}'
+    db: postgres
+    query: ANALYZE test_table
+  register: result
+  ignore_errors: true
+
+- assert:
+    that:
+    - result is changed
+    - result.query == 'ANALYZE test_table'
+    - result.query_list == ['ANALYZE test_table']
+    - result.rowcount == 0
+    - result.statusmessage == 'ANALYZE'
+    - result.query_result == {}
+    - result.query_all_results == [{}]
+
+- name: postgresql_query - run queries from SQL script
+  become_user: '{{ pg_user }}'
+  become: true
+  postgresql_query:
+    login_user: '{{ pg_user }}'
+    db: postgres
+    path_to_script: ~{{ pg_user }}/test0.sql
+    positional_args:
+    - 1
+    encoding: UTF-8
+    as_single_query: false
+  register: result
+  ignore_errors: true
+  when: sql_file_created
+
+- assert:
+    that:
+    - result is not changed
+    - result.query == "\n\nSELECT story FROM test_table\n  WHERE id = 1 OR story = 'Данные'"
+    - result.query_result[0].story == 'first'
+    - result.query_all_results[0][0].version is search('PostgreSQL')
+    - result.query_all_results[1][0].story == 'first'
+    - result.rowcount == 2
+    - result.statusmessage == 'SELECT 1' or result.statusmessage == 'SELECT'
+  when: sql_file_created
+
+- name: postgresql_query - simple select query to test_table
+  become_user: '{{ pg_user }}'
+  become: true
+  postgresql_query:
+    login_user: '{{ pg_user }}'
+    db: postgres
+    query: SELECT * FROM test_table
+  register: result
+  ignore_errors: true
+
+- assert:
+    that:
+    - result is not changed
+    - result.query == 'SELECT * FROM test_table'
+    - result.rowcount == 3
+    - result.statusmessage == 'SELECT 3' or result.statusmessage == 'SELECT'
+    - result.query_result[0].id == 1
+    - result.query_result[1].id == 2
+    - result.query_result[2].id == 3
+    - result.query_result[0].story == 'first'
+    - result.query_result[1].story == 'second'
+    - result.query_result[2].story == 'third'
+
+- name: postgresql_query - select query with named args
+  become_user: '{{ pg_user }}'
+  become: true
+  postgresql_query:
+    login_user: '{{ pg_user }}'
+    db: postgres
+    query: SELECT id FROM test_table WHERE id = %(id_val)s AND story = %(story_val)s
+    named_args:
+      id_val: 1
+      story_val: first
+  register: result
+  ignore_errors: true
+
+- assert:
+    that:
+    - result is not changed
+    - result.query == "SELECT id FROM test_table WHERE id = 1 AND story = 'first'" or result.query == "SELECT id FROM test_table WHERE id = 1 AND story = E'first'"
+    - result.rowcount == 1
+    - result.statusmessage == 'SELECT 1' or result.statusmessage == 'SELECT'
+    - result.query_result[0].id == 1
+
+- name: postgresql_query - select query with positional arguments
+  become_user: '{{ pg_user }}'
+  become: true
+  postgresql_query:
+    login_user: '{{ pg_user }}'
+    db: postgres
+    query: SELECT story FROM test_table WHERE id = %s AND story = %s
+    positional_args:
+    - 2
+    - second
+  register: result
+  ignore_errors: true
+
+- assert:
+    that:
+    - result is not changed
+    - result.query == "SELECT story FROM test_table WHERE id = 2 AND story = 'second'" or result.query == "SELECT story FROM test_table WHERE id = 2 AND story = E'second'"
+    - result.rowcount == 1
+    - result.statusmessage == 'SELECT 1' or result.statusmessage == 'SELECT'
+    - result.query_result[0].story == 'second'
+
+- name: postgresql_query - simple update query
+  become_user: '{{ pg_user }}'
+  become: true
+  postgresql_query:
+    login_user: '{{ pg_user }}'
+    db: postgres
+    query: UPDATE test_table SET story = 'new' WHERE id = 3
+  register: result
+  ignore_errors: true
+
+- assert:
+    that:
+    - result is changed
+    - result.query == "UPDATE test_table SET story = 'new' WHERE id = 3"
+    - result.rowcount == 1
+    - result.statusmessage == 'UPDATE 1'
+    - result.query_result == {}
+
+- name: check the previous update
+  become_user: '{{ pg_user }}'
+  become: true
+  postgresql_query:
+    login_user: '{{ pg_user }}'
+    db: postgres
+    query: SELECT * FROM test_table WHERE story = 'new' AND id = 3
+  register: result
+
+- assert:
+    that:
+    - result.rowcount == 1
+
+- name: postgresql_query - simple update query in check_mode
+  become_user: '{{ pg_user }}'
+  become: true
+  postgresql_query:
+    login_user: '{{ pg_user }}'
+    db: postgres
+    query: UPDATE test_table SET story = 'CHECK_MODE' WHERE id = 3
+  register: result
+  check_mode: true
+
+- assert:
+    that:
+    - result is changed
+    - result.query == "UPDATE test_table SET story = 'CHECK_MODE' WHERE id = 3"
+    - result.rowcount == 1
+    - result.statusmessage == 'UPDATE 1'
+    - result.query_result == {}
+
+- name: check the previous update that nothing has been changed
+  become_user: '{{ pg_user }}'
+  become: true
+  postgresql_query:
+    login_user: '{{ pg_user }}'
+    db: postgres
+    query: SELECT * FROM test_table WHERE story = 'CHECK_MODE' AND id = 3
+  register: result
+
+- assert:
+    that:
+    - result.rowcount == 0
+
+- name: postgresql_query - try to update not existing row
+  become_user: '{{ pg_user }}'
+  become: true
+  postgresql_query:
+    login_user: '{{ pg_user }}'
+    db: postgres
+    query: UPDATE test_table SET story = 'new' WHERE id = 100
+  register: result
+  ignore_errors: true
+
+- assert:
+    that:
+    - result is not changed
+    - result.query == "UPDATE test_table SET story = 'new' WHERE id = 100"
+    - result.rowcount == 0
+    - result.statusmessage == 'UPDATE 0'
+    - result.query_result == {}
+
+- name: postgresql_query - insert query
+  become_user: '{{ pg_user }}'
+  become: true
+  postgresql_query:
+    login_user: '{{ pg_user }}'
+    db: postgres
+    query: INSERT INTO test_table (id, story) VALUES (%s, %s)
+    positional_args:
+    - 4
+    - fourth
+  register: result
+  ignore_errors: true
+
+- assert:
+    that:
+    - result is changed
+    - result.query == "INSERT INTO test_table (id, story) VALUES (4, 'fourth')" or result.query == "INSERT INTO test_table (id, story) VALUES (4, E'fourth')"
+    - result.rowcount == 1
+    - result.statusmessage == 'INSERT 0 1'
+    - result.query_result == {}
+
+- name: postgresql_query - truncate test_table
+  become_user: '{{ pg_user }}'
+  become: true
+  postgresql_query:
+    login_user: '{{ pg_user }}'
+    db: postgres
+    query: TRUNCATE test_table
+  register: result
+  ignore_errors: true
+
+- assert:
+    that:
+    - result is changed
+    - result.query == "TRUNCATE test_table"
+    - result.rowcount == 0
+    - result.statusmessage == 'TRUNCATE TABLE'
+    - result.query_result == {}
+
+- name: postgresql_query - alter test_table
+  become_user: '{{ pg_user }}'
+  become: true
+  postgresql_query:
+    login_user: '{{ pg_user }}'
+    db: postgres
+    query: ALTER TABLE test_table ADD COLUMN foo int
+  register: result
+  ignore_errors: true
+
+- assert:
+    that:
+    - result is changed
+    - result.query == "ALTER TABLE test_table ADD COLUMN foo int"
+    - result.rowcount == 0
+    - result.statusmessage == 'ALTER TABLE'
+
+- name: postgresql_query - vacuum without autocommit must fail
+  become_user: '{{ pg_user }}'
+  become: true
+  postgresql_query:
+    login_user: '{{ pg_user }}'
+    db: postgres
+    query: VACUUM
+  register: result
+  ignore_errors: true
+
+- assert:
+    that:
+    - result.failed == true
+
+- name: postgresql_query - autocommit in check_mode must fail
+  become_user: '{{ pg_user }}'
+  become: true
+  postgresql_query:
+    login_user: '{{ pg_user }}'
+    db: postgres
+    query: VACUUM
+    autocommit: true
+  check_mode: true
+  register: result
+  ignore_errors: true
+
+- assert:
+    that:
+    - result.failed == true
+    - result.msg == "Using autocommit is mutually exclusive with check_mode"
+
+- name: postgresql_query - vacuum with autocommit
+  become_user: '{{ pg_user }}'
+  become: true
+  postgresql_query:
+    login_user: '{{ pg_user }}'
+    db: postgres
+    query: VACUUM
+    autocommit: true
+  register: result
+
+- assert:
+    that:
+    - result is changed
+    - result.query == "VACUUM"
+    - result.rowcount == 0
+    - result.statusmessage == 'VACUUM'
+    - result.query_result == {}
+
+- name: postgresql_query - create test table for issue 59955
+  become_user: '{{ pg_user }}'
+  become: true
+  postgresql_table:
+    login_user: '{{ pg_user }}'
+    login_db: postgres
+    name: test_array_table
+    columns:
+    - arr_col int[]
+  when: postgres_version_resp.stdout is version('9.4', '>=')
+
+- set_fact:
+    my_list:
+    - 1
+    - 2
+    - 3
+    my_arr: '{1, 2, 3}'
+  when: postgres_version_resp.stdout is version('9.4', '>=')
+
+- name: postgresql_query - insert array into test table by positional args
+  become_user: '{{ pg_user }}'
+  become: true
+  postgresql_query:
+    login_user: '{{ pg_user }}'
+    login_db: postgres
+    query: INSERT INTO test_array_table (arr_col) VALUES (%s)
+    positional_args:
+    - '{{ my_list }}'
+  register: result
+  when: postgres_version_resp.stdout is version('9.4', '>=')
+
+- assert:
+    that:
+    - result is changed
+    - result.query == "INSERT INTO test_array_table (arr_col) VALUES ('{1, 2, 3}')"
+  when: postgres_version_resp.stdout is version('9.4', '>=')
+
+- name: postgresql_query - select array from test table by passing positional_args
+  become_user: '{{ pg_user }}'
+  become: true
+  postgresql_query:
+    login_user: '{{ pg_user }}'
+    login_db: postgres
+    query: SELECT * FROM test_array_table WHERE arr_col = %s
+    positional_args:
+    - '{{ my_list }}'
+  register: result
+  when: postgres_version_resp.stdout is version('9.4', '>=')
+
+- assert:
+    that:
+    - result is not changed
+    - result.query == "SELECT * FROM test_array_table WHERE arr_col = '{1, 2, 3}'"
+    - result.rowcount == 1
+  when: postgres_version_resp.stdout is version('9.4', '>=')
+
+- name: postgresql_query - select array from test table by passing named_args
+  become_user: '{{ pg_user }}'
+  become: true
+  postgresql_query:
+    login_user: '{{ pg_user }}'
+    login_db: postgres
+    query: SELECT * FROM test_array_table WHERE arr_col = %(arr_val)s
+    named_args:
+      arr_val:
       - '{{ my_list }}'
-    register: result
-    when: postgres_version_resp.stdout is version('9.4', '>=')
-
-  - assert:
-      that:
-      - result is changed
-      - result.query == "INSERT INTO test_array_table (arr_col) VALUES ('{1, 2, 3}')"
-    when: postgres_version_resp.stdout is version('9.4', '>=')
-
-  - name: postgresql_query - select array from test table by passing positional_args
-    become_user: '{{ pg_user }}'
-    become: true
-    postgresql_query:
-      <<: *pg_parameters
-      query: SELECT * FROM test_array_table WHERE arr_col = %s
-      positional_args:
-      - '{{ my_list }}'
-    register: result
-    when: postgres_version_resp.stdout is version('9.4', '>=')
-
-  - assert:
-      that:
-      - result is not changed
-      - result.query == "SELECT * FROM test_array_table WHERE arr_col = '{1, 2, 3}'"
-      - result.rowcount == 1
-    when: postgres_version_resp.stdout is version('9.4', '>=')
-
-  - name: postgresql_query - select array from test table by passing named_args
-    become_user: '{{ pg_user }}'
-    become: true
-    postgresql_query:
-      <<: *pg_parameters
-      query: SELECT * FROM test_array_table WHERE arr_col = %(arr_val)s
-      named_args:
-        arr_val:
-        - '{{ my_list }}'
-    register: result
-    when: postgres_version_resp.stdout is version('9.4', '>=')
-
-  - assert:
-      that:
-      - result is not changed
-      - result.query == "SELECT * FROM test_array_table WHERE arr_col = '{1, 2, 3}'"
-      - result.rowcount == 1
-    when: postgres_version_resp.stdout is version('9.4', '>=')
-
-  - name: postgresql_query - select array from test table by passing positional_args as a string
-    become_user: '{{ pg_user }}'
-    become: true
-    postgresql_query:
-      <<: *pg_parameters
-      query: SELECT * FROM test_array_table WHERE arr_col = %s
-      positional_args:
-      - '{{ my_arr|string }}'
-      trust_input: true
-    register: result
-    when: postgres_version_resp.stdout is version('9.4', '>=')
-
-  - assert:
-      that:
-      - result is not changed
-      - result.query == "SELECT * FROM test_array_table WHERE arr_col = '{1, 2, 3}'"
-      - result.rowcount == 1
-    when: postgres_version_resp.stdout is version('9.4', '>=')
-
-  - name: postgresql_query - test trust_input parameter
-    become_user: '{{ pg_user }}'
-    become: true
-    postgresql_query:
-      <<: *pg_parameters
-      session_role: 'curious.anonymous"; SELECT * FROM information_schema.tables; --'
-      query: SELECT version()
-      trust_input: false
-    ignore_errors: true
-    register: result
-
-  - assert:
-      that:
-      - result is failed
-      - result.msg is search('is potentially dangerous')
-
-  - name: postgresql_query - clean up
-    become_user: '{{ pg_user }}'
-    become: true
-    postgresql_table:
-      login_user: '{{ pg_user }}'
-      login_db: postgres
-      name: test_array_table
-      state: absent
-    when: postgres_version_resp.stdout is version('9.4', '>=')
-
-  #############################
-  # Check search_path parameter
-
-  - name: postgresql_set - create test schemas
-    become_user: '{{ pg_user }}'
-    become: true
-    postgresql_schema:
-      login_user: '{{ pg_user }}'
-      login_db: postgres
-      name: '{{ item }}'
-    loop:
+  register: result
+  when: postgres_version_resp.stdout is version('9.4', '>=')
+
+- assert:
+    that:
+    - result is not changed
+    - result.query == "SELECT * FROM test_array_table WHERE arr_col = '{1, 2, 3}'"
+    - result.rowcount == 1
+  when: postgres_version_resp.stdout is version('9.4', '>=')
+
+- name: postgresql_query - select array from test table by passing positional_args as a string
+  become_user: '{{ pg_user }}'
+  become: true
+  postgresql_query:
+    login_user: '{{ pg_user }}'
+    login_db: postgres
+    query: SELECT * FROM test_array_table WHERE arr_col = %s
+    positional_args:
+    - '{{ my_arr|string }}'
+    trust_input: true
+  register: result
+  when: postgres_version_resp.stdout is version('9.4', '>=')
+
+- assert:
+    that:
+    - result is not changed
+    - result.query == "SELECT * FROM test_array_table WHERE arr_col = '{1, 2, 3}'"
+    - result.rowcount == 1
+  when: postgres_version_resp.stdout is version('9.4', '>=')
+
+- name: postgresql_query - test trust_input parameter
+  become_user: '{{ pg_user }}'
+  become: true
+  postgresql_query:
+    login_user: '{{ pg_user }}'
+    login_db: postgres
+    session_role: 'curious.anonymous"; SELECT * FROM information_schema.tables; --'
+    query: SELECT version()
+    trust_input: false
+  ignore_errors: true
+  register: result
+
+- assert:
+    that:
+    - result is failed
+    - result.msg is search('is potentially dangerous')
+
+- name: postgresql_query - clean up
+  become_user: '{{ pg_user }}'
+  become: true
+  postgresql_table:
+    login_user: '{{ pg_user }}'
+    login_db: postgres
+    name: test_array_table
+    state: absent
+  when: postgres_version_resp.stdout is version('9.4', '>=')
+
+#############################
+# Check search_path parameter
+
+- name: postgresql_set - create test schemas
+  become_user: '{{ pg_user }}'
+  become: true
+  postgresql_schema:
+    login_user: '{{ pg_user }}'
+    login_db: postgres
+    name: '{{ item }}'
+  loop:
+  - query_test1
+  - query_test2
+
+- name: postgresql_set - create test tables
+  become_user: '{{ pg_user }}'
+  become: true
+  postgresql_table:
+    login_user: '{{ pg_user }}'
+    login_db: postgres
+    name: '{{ item }}'
+    columns:
+    - id int
+  loop:
+  - 'query_test1.test1'
+  - 'query_test2.test2'
+
+- name: postgresql_query - insert data
+  become_user: '{{ pg_user }}'
+  become: true
+  postgresql_query:
+    login_user: '{{ pg_user }}'
+    login_db: postgres
+    query: 'INSERT INTO {{ item }} (id) VALUES (1)'
+    search_path:
     - query_test1
     - query_test2
-
-  - name: postgresql_set - create test tables
-    become_user: '{{ pg_user }}'
-    become: true
-    postgresql_table:
-      login_user: '{{ pg_user }}'
-      login_db: postgres
-      name: '{{ item }}'
-      columns:
-      - id int
-    loop:
-    - 'query_test1.test1'
-    - 'query_test2.test2'
-
-  - name: postgresql_query - insert data
-    become_user: '{{ pg_user }}'
-    become: true
-    postgresql_query:
-      <<: *pg_parameters
-      query: 'INSERT INTO {{ item }} (id) VALUES (1)'
-      search_path:
-      - query_test1
-      - query_test2
-    loop:
-    - test1
-    - test2
-
-  - name: postgresql_query - get data
-    become_user: '{{ pg_user }}'
-    become: true
-    postgresql_query:
-      <<: *pg_parameters
-      query: 'SELECT id FROM test1'
-      search_path:
-      - query_test1
-      - query_test2
-    register: result
-
-  - assert:
-      that:
-      - result.rowcount == 1
-
-  - name: postgresql_query - get data, must fail
-    become_user: '{{ pg_user }}'
-    become: true
-    postgresql_query:
-      <<: *pg_parameters
-      query: 'SELECT id FROM test1'
-    register: result
-    ignore_errors: true
-
-  - assert:
-      that:
-      - result is failed
-
-  # Tests for the as_single_query option
-  - name: Run queries from SQL script as a single query
-    become_user: '{{ pg_user }}'
-    become: true
-    postgresql_query:
-      <<: *pg_parameters
-      path_to_script: ~{{ pg_user }}/test1.sql
-      positional_args:
-      - 1
-      encoding: UTF-8
-      as_single_query: true
-    register: result
-
-  - name: >
-      Must pass. Not changed because we can only
-      check statusmessage of the last query
-    assert:
-      that:
-      - result is not changed
-      - result.statusmessage == 'SELECT 1' or result.statusmessage == 'SELECT'
-      - result.query_list[0] == "CREATE FUNCTION add(integer, integer) RETURNS integer\n  AS 'select $1 + $2;'\n  LANGUAGE SQL\n  IMMUTABLE\n  RETURNS NULL ON NULL INPUT;\n\nSELECT story FROM test_table\n  WHERE id = %s OR story = 'Данные';\n\nSELECT version();\n"
-
-  #############################################################################
-  # Issue https://github.com/ansible-collections/community.postgresql/issues/45
-  - name: Create table containing a decimal value
-    become_user: '{{ pg_user }}'
-    become: true
-    postgresql_query:
-      <<: *pg_parameters
-      query: CREATE TABLE blabla (id int, num decimal)
-
-  - name: Insert data
-    become_user: '{{ pg_user }}'
-    become: true
-    postgresql_query:
-      <<: *pg_parameters
-      query: INSERT INTO blabla (id, num) VALUES (1, 1::decimal)
-
-  - name: Get data
-    become_user: '{{ pg_user }}'
-    become: true
-    postgresql_query:
-      <<: *pg_parameters
-      query: SELECT * FROM blabla
-    register: result
-
-  - assert:
-      that:
-      - result.rowcount == 1
-
-  #############################################################################
-  # Issue https://github.com/ansible-collections/community.postgresql/issues/47
-  - name: Get datetime.timedelta value
-    become_user: '{{ pg_user }}'
-    become: true
-    postgresql_query:
-      <<: *pg_parameters
-      query: "SELECT EXTRACT(epoch from make_interval(secs => 3)) AS extract"
-    register: result
-    when: postgres_version_resp.stdout is version('10', '>=')
-
-  - assert:
-      that:
-      - result.rowcount == 1
-      - result.query_result[0]["extract"] == 3 or result.query_result[0]["extract"] == 3.0
-    when: postgres_version_resp.stdout is version('10', '>=')
-
-  - name: Get interval value
-    become_user: '{{ pg_user }}'
-    become: true
-    postgresql_query:
-      <<: *pg_parameters
-      query: "SELECT make_interval(secs => 3)"
-    register: result
-    when: postgres_version_resp.stdout is version('10', '>=')
-
-  - assert:
-      that:
-      - result.rowcount == 1
-      - result.query_result[0]["make_interval"] == "0:00:03"
-    when: postgres_version_resp.stdout is version('10', '>=')
+  loop:
+  - test1
+  - test2
+
+- name: postgresql_query - get data
+  become_user: '{{ pg_user }}'
+  become: true
+  postgresql_query:
+    login_user: '{{ pg_user }}'
+    login_db: postgres
+    query: 'SELECT id FROM test1'
+    search_path:
+    - query_test1
+    - query_test2
+  register: result
+
+- assert:
+    that:
+    - result.rowcount == 1
+
+- name: postgresql_query - get data, must fail
+  become_user: '{{ pg_user }}'
+  become: true
+  postgresql_query:
+    login_user: '{{ pg_user }}'
+    login_db: postgres
+    query: 'SELECT id FROM test1'
+  register: result
+  ignore_errors: true
+
+- assert:
+    that:
+    - result is failed
+
+# Tests for the as_single_query option
+- name: Run queries from SQL script as a single query
+  become_user: '{{ pg_user }}'
+  become: true
+  postgresql_query:
+    login_user: '{{ pg_user }}'
+    db: postgres
+    path_to_script: ~{{ pg_user }}/test1.sql
+    positional_args:
+    - 1
+    encoding: UTF-8
+    as_single_query: true
+  register: result
+
+- name: >
+    Must pass. Not changed because we can only
+    check statusmessage of the last query
+  assert:
+    that:
+    - result is not changed
+    - result.statusmessage == 'SELECT 1' or result.statusmessage == 'SELECT'
+    - result.query_list[0] == "CREATE FUNCTION add(integer, integer) RETURNS integer\n  AS 'select $1 + $2;'\n  LANGUAGE SQL\n  IMMUTABLE\n  RETURNS NULL ON NULL INPUT;\n\nSELECT story FROM test_table\n  WHERE id = %s OR story = 'Данные';\n\nSELECT version();\n"
+
+#############################################################################
+# Issue https://github.com/ansible-collections/community.postgresql/issues/45
+- name: Create table containing a decimal value
+  become_user: '{{ pg_user }}'
+  become: true
+  postgresql_query:
+    login_user: '{{ pg_user }}'
+    db: postgres
+    query: CREATE TABLE blabla (id int, num decimal)
+
+- name: Insert data
+  become_user: '{{ pg_user }}'
+  become: true
+  postgresql_query:
+    login_user: '{{ pg_user }}'
+    db: postgres
+    query: INSERT INTO blabla (id, num) VALUES (1, 1::decimal)
+
+- name: Get data
+  become_user: '{{ pg_user }}'
+  become: true
+  postgresql_query:
+    login_user: '{{ pg_user }}'
+    db: postgres
+    query: SELECT * FROM blabla
+  register: result
+
+- assert:
+    that:
+    - result.rowcount == 1
+
+#############################################################################
+# Issue https://github.com/ansible-collections/community.postgresql/issues/47
+- name: Get datetime.timedelta value
+  become_user: '{{ pg_user }}'
+  become: true
+  postgresql_query:
+    login_user: '{{ pg_user }}'
+    db: postgres
+    query: "SELECT EXTRACT(epoch from make_interval(secs => 3)) AS extract"
+  register: result
+  when: postgres_version_resp.stdout is version('10', '>=')
+
+- assert:
+    that:
+    - result.rowcount == 1
+    - result.query_result[0]["extract"] == 3 or result.query_result[0]["extract"] == 3.0
+  when: postgres_version_resp.stdout is version('10', '>=')
+
+- name: Get interval value
+  become_user: '{{ pg_user }}'
+  become: true
+  postgresql_query:
+    login_user: '{{ pg_user }}'
+    db: postgres
+    query: "SELECT make_interval(secs => 3)"
+  register: result
+  when: postgres_version_resp.stdout is version('10', '>=')
+
+- assert:
+    that:
+    - result.rowcount == 1
+    - result.query_result[0]["make_interval"] == "0:00:03"
+  when: postgres_version_resp.stdout is version('10', '>=')
diff --git a/tests/integration/targets/postgresql_user/tasks/postgresql_user_initial.yml b/tests/integration/targets/postgresql_user/tasks/postgresql_user_initial.yml
index 89028619..9678214a 100644
--- a/tests/integration/targets/postgresql_user/tasks/postgresql_user_initial.yml
+++ b/tests/integration/targets/postgresql_user/tasks/postgresql_user_initial.yml
@@ -46,7 +46,7 @@
   postgresql_user:
     name: "{{ db_user1 }}"
     state: "present"
-    encrypted: 'true'
+    encrypted: true
     password: "password"
     role_attr_flags: "CREATEDB,LOGIN,CREATEROLE"
     login_user: "{{ pg_user }}"
@@ -75,7 +75,7 @@
   postgresql_user:
     name: "{{ db_user2 }}"
     state: "present"
-    encrypted: 'true'
+    encrypted: true
     password: "md55c8ccfd9d6711fc69a7eae647fc54f51"
     db: "{{ db_name }}"
     login_user: "{{ db_user1 }}"
diff --git a/tests/integration/targets/postgresql_user/tasks/test_password.yml b/tests/integration/targets/postgresql_user/tasks/test_password.yml
index aece258f..7b97ae5d 100644
--- a/tests/integration/targets/postgresql_user/tasks/test_password.yml
+++ b/tests/integration/targets/postgresql_user/tasks/test_password.yml
@@ -93,7 +93,7 @@
       postgresql_user:
         <<: *parameters
         password: '{{ db_password1 }}'
-        encrypted: 'true'
+        encrypted: true
       environment:
         PGCLIENTENCODING: 'UTF8'
         PGOPTIONS: '-c default_transaction_read_only=on' # ensure 'alter user' query isn't executed
@@ -105,7 +105,7 @@
       postgresql_user:
         <<: *parameters
         password: "md5{{ (db_password1 ~ db_user1) | hash('md5')}}"
-        encrypted: 'true'
+        encrypted: true
       environment:
         PGOPTIONS: '-c default_transaction_read_only=on' # ensure 'alter user' query isn't executed
 
@@ -116,7 +116,7 @@
       postgresql_user:
         <<: *parameters
         password: "md5{{ (db_password1 ~ db_user1) | hash('md5')}}"
-        encrypted: 'false'
+        encrypted: false
       environment:
         PGOPTIONS: '-c default_transaction_read_only=on' # ensure 'alter user' query isn't executed
 
@@ -126,7 +126,7 @@
       <<: *task_parameters
       postgresql_user:
         <<: *parameters
-        encrypted: 'true'
+        encrypted: true
         password: "md5{{ (db_password1 ~ db_user1) | hash('md5')}}"
         expires: '2025-01-01'
       environment:
@@ -139,7 +139,7 @@
       postgresql_user:
         <<: *parameters
         password: 'prefix{{ db_password1 }}'
-        encrypted: 'true'
+        encrypted: true
       environment:
         PGCLIENTENCODING: 'UTF8'
 
@@ -150,7 +150,7 @@
       postgresql_user:
         <<: *parameters
         password: "md5{{ ('prefix1' ~ db_password1 ~ db_user1) | hash('md5')}}"
-        encrypted: 'true'
+        encrypted: true
 
     - <<: *changed
 
@@ -159,7 +159,7 @@
       postgresql_user:
         <<: *parameters
         password: "md5{{ ('prefix2' ~ db_password1 ~ db_user1) | hash('md5')}}"
-        encrypted: 'false'
+        encrypted: false
       register: change_pass_unencrypted
       failed_when:
       - change_pass_unencrypted is failed
@@ -173,7 +173,7 @@
       postgresql_user:
         <<: *parameters
         password: ''
-        encrypted: 'true'
+        encrypted: true
       environment:
         PGCLIENTENCODING: 'UTF8'
 
@@ -184,7 +184,7 @@
       postgresql_user:
         <<: *parameters
         password: ''
-        encrypted: 'true'
+        encrypted: true
       environment:
         PGCLIENTENCODING: 'UTF8'
         PGOPTIONS: '-c default_transaction_read_only=on' # ensure 'alter user' query isn't executed
@@ -196,7 +196,7 @@
       postgresql_user:
         <<: *parameters
         password: ''
-        encrypted: 'false'
+        encrypted: false
       environment:
         PGCLIENTENCODING: 'UTF8'
         PGOPTIONS: '-c default_transaction_read_only=on' # ensure 'alter user' query isn't executed
@@ -208,13 +208,13 @@
       postgresql_user:
         <<: *parameters
         password: '{{ db_password1 }}'
-        encrypted: 'true'
+        encrypted: true
       environment:
         PGCLIENTENCODING: 'UTF8'
 
     - <<: *changed
 
-    when: encrypted == 'true' and postgres_version_resp.stdout is version('14', '<')
+    when: encrypted and postgres_version_resp.stdout is version('14', '<')
 
   - block:
 
@@ -223,7 +223,7 @@
       postgresql_user:
         <<: *parameters
         password: "{{ db_password1 }}"
-        encrypted: 'false'
+        encrypted: false
       environment:
         PGCLIENTENCODING: 'UTF8'
         PGOPTIONS: '-c default_transaction_read_only=on' # ensure 'alter user' query isn't executed
@@ -235,7 +235,7 @@
       postgresql_user:
         <<: *parameters
         password: "{{ db_password1 }}"
-        encrypted: 'false'
+        encrypted: false
         expires: '2025-01-01'
       environment:
         PGCLIENTENCODING: 'UTF8'
@@ -248,7 +248,7 @@
       postgresql_user:
         <<: *parameters
         password: "changed{{ db_password1 }}"
-        encrypted: 'false'
+        encrypted: false
       environment:
         PGCLIENTENCODING: 'UTF8'
 
@@ -259,7 +259,7 @@
       postgresql_user:
         <<: *parameters
         password: ''
-        encrypted: 'false'
+        encrypted: false
       environment:
         PGCLIENTENCODING: 'UTF8'
 
@@ -270,7 +270,7 @@
       postgresql_user:
         <<: *parameters
         password: ''
-        encrypted: 'false'
+        encrypted: false
       environment:
         PGCLIENTENCODING: 'UTF8'
         PGOPTIONS: '-c default_transaction_read_only=on' # ensure 'alter user' query isn't executed
@@ -282,7 +282,7 @@
       postgresql_user:
         <<: *parameters
         password: ''
-        encrypted: 'true'
+        encrypted: true
       environment:
         PGCLIENTENCODING: 'UTF8'
         PGOPTIONS: '-c default_transaction_read_only=on' # ensure 'alter user' query isn't executed
@@ -294,13 +294,13 @@
       postgresql_user:
         <<: *parameters
         password: "{{ db_password1 }}"
-        encrypted: 'false'
+        encrypted: false
       environment:
         PGCLIENTENCODING: 'UTF8'
 
     - <<: *changed
 
-    when: encrypted == 'false'
+    when: encrypted == false
 
   # start of block scram-sha-256
   # scram-sha-256 password encryption type is supported since PostgreSQL 10

From 03063477c00f775ebbdd530f4216c30d7a82c1d2 Mon Sep 17 00:00:00 2001
From: Douglas J Hunley <doug.hunley@gmail.com>
Date: Fri, 9 Sep 2022 09:41:27 -0400
Subject: [PATCH 7/7] fix: re-fix argspec

---
 plugins/modules/postgresql_query.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/plugins/modules/postgresql_query.py b/plugins/modules/postgresql_query.py
index 03ced09a..a28fc977 100644
--- a/plugins/modules/postgresql_query.py
+++ b/plugins/modules/postgresql_query.py
@@ -365,7 +365,7 @@ def main():
         encoding=dict(type='str'),
         trust_input=dict(type='bool', default=True),
         search_path=dict(type='list', elements='str'),
-        as_single_query=dict(type='bool'),
+        as_single_query=dict(type='bool', default=True),
     )
 
     module = AnsibleModule(