<!--- Verify first that your issue is not already reported on GitHub -->
<!--- Also test if the latest release and devel branch are affected too -->
<!--- Complete *all* sections as described, this form is processed automatically -->

##### SUMMARY
<!--- Explain the problem briefly below -->

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
<!--- Write the short name of the module, plugin, task or feature below, use your best guess if 

postgresql_user

##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```paste below
ansible 2.9.1
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/home/roman/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3.7/site-packages/ansible
  executable location = /usr/bin/ansible
  python version = 3.7.5 (default, Oct 17 2019, 12:16:48) [GCC 9.2.1 20190827 (Red Hat 9.2.1-1)]
```

##### CONFIGURATION
<!--- Paste verbatim output from "ansible-config dump --only-changed" between quotes -->
```paste below
```

##### OS / ENVIRONMENT
<!--- Provide all relevant information below, e.g. target OS versions, network device firmware, etc. -->

Local:

```
NAME=Fedora
VERSION="31 (Workstation Edition)"
```

Remote:
```
NAME="Red Hat Enterprise Linux"
VERSION="8.1 (Ootpa)"
```

All managed hosts are RHEL 8 (Python3 only):

hosts.yml:
```
all:
  vars:
    ansible_python_interpreter: /usr/libexec/platform-python
```

##### STEPS TO REPRODUCE
<!--- Describe exactly how to reproduce the problem, using a minimal test-case -->

<!--- Paste example playbooks or commands between quotes below -->

main.yml:

```yaml
- name: "Copy files with scheme"
  copy:
    src: "scheme.sql"
    dest: "/tmp/scheme.sql"
    mode: '0600'

- name: "Create scheme"
  postgresql_query:
    login_user: "{{ postgresql_user }}"
    login_password: "{{ postgresql_password }}"
    login_host: "{{ postgresql_host }}"
    db: "{{ postgresql_database }}"
    path_to_script: "/tmp/scheme.sql"
```

scheme.sql:
```
INSERT INTO test(id, name) VALUES(1,  'Данные'); -- use non-ASCII
```

<!--- HINT: You can paste gist.github.com links for larger files -->

##### EXPECTED RESULTS
<!--- Describe what you expected to happen when running the steps above -->

scheme.sql applied.


##### ACTUAL RESULTS
<!--- Describe what actually happened. If possible run with extra verbosity (-vvvv) -->

```paste below
"msg": "Cannot read file '/tmp/scheme.sql' : 'ascii ' codec can't decode byte 0xd0 in position 4342: ordinal not in range(128)"}  
```


db_connection = connect_to_db(module, conn_params, autocommit=autocommit)
    cursor = db_connection.cursor(cursor_factory=DictCursor)
    
    if module.params.get("positional_args"):
        arguments = module.params["positional_args"]
    elif module.params.get("named_args"):
        arguments = module.params["named_args"]
    else:
        arguments = None
    
    changed = False
    
    try:
        cursor.execute(query, arguments)
    except Exception as e:
        if not autocommit:
            db_connection.rollback()
        cursor.close()
        db_connection.close()
        module.fail_json(msg="Cannot execute SQL '%s' %s: %s" % (query, arguments, to_native(e)))
    statusmessage = cursor.statusmessage
    rowcount = cursor.rowcount
    try:
        query_result = [dict(row) for row in cursor.fetchall()]
    except Psycopg2ProgrammingError as e:
        if to_native(e) == 'no results to fetch':
            query_result = {}
    except Exception as e:
        module.fail_json(msg="Cannot fetch rows from cursor: %s" % to_native(e))
    if 'SELECT' not in statusmessage: