Commit graph

70 commits

Author SHA1 Message Date
Andrey Klychkov
b87b359df5 postgresql: move CI tests of *_owner, *_info, *_ping, *_query to separate targets (#62500) 2019-09-18 14:22:13 +01:00
Andrey Klychkov
98415dec86 postgresql_copy: move ci tests to a separate target (#62398) 2019-09-17 13:32:45 +01:00
Andrey Klychkov
bcc3620182 Fix typos in database modules and their integration tests (#62125) 2019-09-11 08:19:25 -04:00
Felix Fontein
4d057e0331
Make sure postgresql tests are run for all postgres_* modules (#61647) 2019-08-31 18:12:40 +02:00
Andrey Klychkov
a6f6256a0a new module postgresql_publication (#59439)
* new module postgresql_publication: initial commit

* new module postgresql_publication: add seealso section

* new module postgresql_publication: fix RETURN section, fix typo

* new module postgresql_publication: add __exec_sql method

* new module postgresql_publication: fix typos

* new module postgresql_publication: fix typos

* new module postgresql_publication: fix typos
2019-08-28 10:24:59 +02:00
Andrey Klychkov
e3cf76533c postgresql_user: add groups parameter (#60638)
* postgresql_user: add groups parameter

* postgresql_user: add groups parameter, fail_on_role default True

* postgresql_user: add groups parameter, add changelog fragment
2019-08-23 08:17:23 +02:00
Andrey Klychkov
191068a286 Issue 59955: add array handling to postgresql_query module (#60559)
* Issue 59955: add array handling to postgresql_query module

* Issue 59955: add array handling to postgresql_query module, improvements

* Issue 59955: add array handling to postgresql_query module, fix example comment
2019-08-22 08:53:29 +02:00
Andrey Klychkov
5b1a4f959a postgresql_set: improve CI tests (#59583) 2019-07-26 19:53:34 +02:00
Sebastiaan Mannem
d0538c0d7a postgresql_pg_hba: Exception when two lines with same weight are compared (#59198) 2019-07-18 10:50:19 +05:30
Andrey Klychkov
0e09800a9a Postgresql modules: tidying up of CI tests (#59099) 2019-07-17 11:00:40 -04:00
Andrey Klychkov
63b606ee94 postgresql_user: add integration tests (#58864)
* postgresql_user: add separate integration tests

* postgresql_user: add separate integration tests, add always block

* postgresql_user: add separate integration tests, include -> import_tasks, jinja checks

* postgresql_user: add separate integration tests, fix formatting

* postgresql_user: add separate integration tests, fix formatting

Co-Authored-By: Felix Fontein <felix@fontein.de>
2019-07-10 10:59:28 +02:00
Andrey Klychkov
6cf722fed6 postgresql_query module: add autocommit parameter (#58704)
* postgresql_query: add autocommit parameter

* postgresql_query: add autocommit parameter, add CI tests

* postgresql_query: add autocommit parameter, add a changelog fragment

* postgresql_query: add autocommit parameter, fix sanity

* postgresql_query: add autocommit parameter, cosmetic fix
2019-07-04 12:25:51 +02:00
Andrey Klychkov
4da6d8cbf9 postgresql_ext: add version parameter (#58381)
* postgresql_ext: add version new option

* postgresql_ext: add version new option, fix ssl tests

* postgresql_ext: add version new option, fix tests

* postgresql_ext: add version new option, fix examples

* postgresql_ext: add version new option, fix the doc

* postgresql_ext: add version new option, fix examples

* postgresql_ext: add version new option, fix typo in tests
2019-07-02 15:24:46 +02:00
Andrey Klychkov
278c59b17e postgresql_privs: bugfix of 27327 - incorrect views handling (#58272) 2019-06-24 18:08:12 +05:30
Sam Doran
18feeb51a8
Change integration tests in order to pass on Fedora 30 (#58081)
* Use different package for DNF tests
    Ninja caused errors in Fedora 30. This works in both Fedora 29 and 30.

* Fix git integration tests
    Git >= 2.21.0 has either a bug or change in behavior where it errors when fetching a
    repository containing submodules that are behind the upstream submodule commits.
    It's weird and I don't fully understand it.

    Get around this my checking out specific commits from a repository rather than
    switch the origin URL.

* Fix PostgreSQL tests
    The error message is slightly different
2019-06-19 12:38:05 -04:00
ECRR
5cc6486a2b Merge authentication options back into a single field to prevent losing options beyond the first (#57507)
* Merge authentication options back into a single field to prevent losing options beyond the first

* Add integration test and changelog

* Fix multiple options for local type connections. Also fix sorting errors between local type connections that lack a src

* Build again because of github problems?

* Add spaces before comments
2019-06-10 09:16:01 +02:00
tcraxs
07d446825a New module postgresql_sequence (#55027)
* postgresql_sequence: initial commit with new module and tests

* change return variables and adjust tests

* fix sanity checks

* fix linter errors

* change formatting functions and put params alphabetically

* add new examples and remove restrict option
* remove restrict option
* remove `required: false`
* add links to documentation
* change some minor parts in documentation
* add new integration tests for
** drop cascade
** change owner

* change usage of owner and created a test case for set owner during creation

* remove some documents and use docsfragments

* add aliases for minvalue and maxvalue

* change to warn if sequence not exists but should be removed

* use connect_to_db from module_utils/postgres.py

* add checkmode for several tests

* fix psycopg2 import and connect_to_db

* add a test for drop nonexistent sequence

* change get_info funcrtion to use only one SQL statement

* rewrite the module for cleaner code
* remove psycopg2
* change check_mode behavior
* add docstrings for class and methods
* add test for create sequence with owner in check_mode

* fix typo in set_schema()

* fix docu and cleanup the code
* adjust documentation for state, schema and newschema
* remove mutually_exclusive for 'absent'
* remove unused code comments
* remove warning for drop non-exicsting sequence
* change autocommit condition

* adjust state documentation
2019-06-07 13:34:57 +02:00
Brian Coca
b9b0b23015
safe_eval fix (#57188)
* just dont pass locals

 - also fix globals
 - added tests

* fixed tests
2019-06-06 15:36:22 -04:00
Andrey Klychkov
ea9a0f36f3 postgresql_table: 57352 bugfix, add schema handling (#57391)
* 57352 bugfix, add schema handling

* 57352 bugfix, added a changelog fragment

* 57352 bugfix, added tests for rename

* 57352 bugfix, fixed tests

* 57352 bugfix, fixed typos, cosmetic changes
2019-06-05 15:06:23 -04:00
Andrey Klychkov
96bf243265 New module postgresql_copy: copy data between a file and a table (#56835)
* New module postgresql_copy

* New module postgresql_copy: added tests

* New module postgresql_copy: changed tests

* New module postgresql_copy: doc format fixes

* New module postgresql_copy: fixes

* New module postgresql_copy: added upper, PostgreSQL

* New module postgresql_copy: fixed description

* New module postgresql_copy: added note about superuser

* New module postgresql_copy: remove SQLParseError

* New module postgresql_copy: fixed opt_need_quotes type

* New module postgresql_copy: fixed check_mode

* New module postgresql_copy: small fix
2019-06-03 19:11:50 +10:00
Sebastiaan Mannem
223f509ea3 Issue 56430 (#57147)
* Adding integration test for 127.0.0.1/32 and ::1/128.

* Making sure file is not corrupted when render fails

* Fixes #56430

* Adding changelog for MR 57147/Issue 56430
2019-05-31 12:32:28 +02:00
Andrey Klychkov
75046f8410 postgresql_db: added tablespace support (#56390) 2019-05-16 12:13:40 +02:00
Andrey Klychkov
f79b6b06f1 postgresql_table: added cascade option (#56068) 2019-05-07 16:08:03 +05:30
Andrey Klychkov
f8c47262c4 postgresql SSL related tests (#55288)
* postgresql SSL tests

* postgresql SSL tests, added link to officiall doc
2019-04-15 14:19:22 +01:00
Andrey Klychkov
d790285e80 postgresql_idx: improved doc, tests, remove useless lines from code (#55131)
* postgresql_idx: improve doc

* postgresql_idx: improve doc, removed unuseless rows from code

* postgresql_idx: misc doc fix

* postgresql_idx: moved common params where they were

* postgresql_idx: moved common params where they were 2
2019-04-12 14:15:21 +01:00
Andrey Klychkov
a971a0eb80 New module postgresql_slot: Add or remove slots from a PostgreSQL database (#55079)
* New module postgresql_slot

* New module postgresql_slot: fixed sanity

* New module postgresql_slot: fixes

* New module postgresql_slot: fixes

* New module postgresql_slot: fix sanity
2019-04-10 14:12:57 +01:00
Andrey Klychkov
5cbac14469 New module postgresql_owner: change ownership and reassign all db objects owned by role to another (#54984) 2019-04-09 13:32:09 +01:00
Raymond Roelands
8edae1bc61 updated tests and changelog for 54516 (#54670)
* updated tests and changelog for 54516

* Handle errors if PG does not support partitioning.

* Check for PG > 10 in tasks

* Show changes for partitioned tables in ansible

* Added documentation in the tests

* Update test/integration/targets/postgresql/tasks/postgresql_privs.yml

Co-Authored-By: raymondroelands <raymondroelands@users.noreply.github.com>

* Update test/integration/targets/postgresql/tasks/postgresql_privs.yml

Co-Authored-By: raymondroelands <raymondroelands@users.noreply.github.com>

* Added check for 0 tables after revoking rights

* Added test and moved tests
Added check mode test and moved test right after the change.

* Rebased postgresql_privs.py
2019-04-09 13:30:06 +02:00
Andrey Klychkov
2fbac8948d postgresql_idx: added CI tests for check_mode, rewrite code related with check_mode, misc fixes (#54848)
* postgresql_idx: added CI tests, misc fixes

* postgresql_idx: fix sanity
2019-04-04 13:31:14 +01:00
Andrey Klychkov
3eff72e886 postgresql_user: fix doc formatting, added return value, aliases, misc code changes (#54768)
* postgresql_user: refactoring

* postgresql_user: removed line from ignore.txt

* postgresql_user: removed lines from ignore.txt

* postgresql_user: removed lines from ignore.txt, fixes

* postgresql_user: removed lines from ignore.txt, fixes

* postgresql_user: removed lines from ignore.txt, fixes
2019-04-04 10:02:23 +01:00
Andrey Klychkov
40f65a54ec Postgresql privs reformat (#54717)
* postgresql_privs: fix doc format, pgutils

* postgresql_privs: added pgutils, ret value

* postgresql_privs: fix test

* postgresql_privs: fixes

* postgresql_privs: fixes

* postgresql_privs: fixed CI
2019-04-02 16:48:35 +01:00
Andrey Klychkov
48ec8d13a0 postgresql_lang module: fixed doc formatting, added aliases, pg_utils, added missing CI tests (#54672)
* postgresql_lang: fixed doc

* postgresql_lang: add pg_utils

* postgresql_lang: added return value - queries

* postgresql_lang: added CI tests

* postgresql_lang: restricted CI using CentOS

* postgresql_lang: fixed typos in CI comments
2019-04-01 14:39:00 +01:00
Andrey Klychkov
349a0dccee New module postgresql_table - create postgresql table on remote host (#52077)
* New module postgresql_table - create postgresql table on remote host

* New module postgresql_table - fix tests

* New module postgresql_table - fix tests

* New module postgresql_table - fix tests

* New module postgresql_table - fix a typo

* New module postgresql_table - change columns and params to type str

* New module postgresql_table - fix columns type

* New module postgresql_table - added pg_quote_identifier

* New module postgresql_table - removed unused lib

* New module postgresql_table - query -> queries

* New module postgresql_table - test improvement

* New module postgresql_table - fixed tests for PG 9.0

* New module postgresql_table - fixes

* New module postgresql_table - fixes
2019-03-29 15:51:07 +00:00
Andrey Klychkov
459a8156f5 New module postgresql_membership: Add or remove PostgreSQL roles from groups (#53733)
* New module postgresql_membership: initial

* New module postgresql_membership: fixed sanity
2019-03-29 13:17:56 +00:00
Sebastiaan Mannem
d90cb71210 Added a new module that can manage rules in pg_hba files. (#32666)
* Added a new module that can manage rules in pg_hba files.

* Adding a backup_file option
2019-03-27 15:54:20 +01:00
Andrey Klychkov
9fa1f78126 postgresql_facts -> postgresql_info (#54389)
* postgresql_facts -> postgresql_info

* postgresql_facts -> postgresql_info: fix comment
2019-03-26 12:11:47 +00:00
tcraxs
af669dec24 add missing integration tests for postgresql_schema module (#54185)
* add missing integration tests for postgresql_schema module

* add missing integration tests for postgresql_schema module

* postgresql_schema: add CI test with function in module from #54237

* postgresql_schema: add CI test with function in module from #54237

* add DROP SCHEMA test with check_mode=yes #54185
2019-03-25 17:10:47 +00:00
Christian Rohmann
90c092a104 Allow configuration of connection_limit per postgresql database (postgresql_db) (#40345)
Fixes #40060

* Fix coding style errors
* Use CONNECTION LIMIT (no underscore)
* From review done by amenonsen and bcoca - Set default at None, make the change detection less confusing
* Added EXAMPLE on how to apply a database specific connection limit
* Added some basic tests for conn_limit applied to a database
* Check that conn_limit has actually been set / updated to 200
* Add changelog fragment regarding postgresql_db conn_limit parameter
2019-03-22 18:21:39 +05:30
Andrey Klychkov
76f1f96163 postgresql_ext: Update param handling, fix doc formatting, added: CI tests, examples, a return value (#54027)
* postgresql_ext: instead_of_3196, initial

* postgresql_ext: fixes

* postgresql_ext: fixes
2019-03-22 12:39:33 +00:00
tcraxs
bb61d7527f #50877: add support to postgresql_privs to use "FOR { ROLE | USER } target_role" in "ALTER DEFAULT PRIVILEGES" (#51073)
* #50877:
* add support to postgresql_privs to use "FOR { ROLE | USER } target_role"
   in "ALTER DEFAULT PRIVILEGES"

* fix sanity errors

* #50877: fix documentation and add a check for correct usage
of target_roles

*  #50877: fix missing absent option for default privs with target_role

* #50877: add clear description, when target_roles can be used

* #50877: fix conflicts, formatting, and add a changelog fragment

* #50877: fix sanity error E335

* #50877: swap conditions and fix error to warning msg

*  #50877: add tests for default privileges

* #50877: fix tests for default privileges

* #50877: fix tests for default privileges on centos 6
2019-03-21 13:26:44 +00:00
Andrey Klychkov
cf5aceb482 New module postgresql_set - Change a PostgreSQL server configuration parameter (#51875)
* New module postgresql_set - Change a PostgreSQL server configuration parameter

* New module postgresql_set - fix

* New module postgresql_set - fix tests

* New module postgresql_set - fix tests

* New module postgresql_set - fix tests

* New module postgresql_set - fix tests

* New module postgresql_set - fix tests

* New module postgresql_set - fix tests

* New module postgresql_set - fix tests

* Various cosmetic and docs changes

* New module postgresql_set - add returned value

* New module postgresql_set - add returned value

* New module postgresql_set - add check mode

* New module postgresql_set - fix comment

* New module postgresql_set - added CI tests for check_mode

* New module postgresql_set - added aliases, fix typos

* New module postgresql_set - fix

* New module postgresql_set - fix sanity

* New module postgresql_set - fixes

* New module postgresql_set - fixes

* New module postgresql_set - fixes
2019-03-18 11:39:10 +00:00
Andrey Klychkov
db17e88fd2 New module postgresql_facts: Gathers facts about PostgreSQL servers. (#51164)
* New module postgresql_facts: Gathers facts about remote PostgreSQL instances

* New module postgresql_facts: fix default values of function

* New module postgresql_facts: add extension support

* New module postgresql_facts: fixed typo

* New module postgresql_facts: added integration test

* New module postgresql_facts: fix test error

* New module postgresql_facts: add info about min server version

* New module postgresql_facts: fix

* New module postgresql_facts: fix

* New module postgresql_facts: added repl stat tables checks

* New module postgresql_facts: fix

* New module postgresql_facts: fix

* New module postgresql_facts: fix

* New module postgresql_facts: fix

* New module postgresql_facts: fix

* New module postgresql_facts: fix

* New module postgresql_facts: fix

* New module postgresql_facts: ansible_facts -> postgresql_facts

* New module postgresql_facts: fix ci

New module postgresql_facts: revision for review

New module postgresql_facts: revision for review, fix

* fix doc

* New module postgresql_facts: add data types to param dict

* New module postgresql_facts: code refactoring

* # This is a combination of 3 commits.
# The first commit's message is:
New module postgresql_facts: incl_subset => filter

# This is the 2nd commit message:

New module postgresql_facts: fix a typo

# This is the 3rd commit message:

New module postgresql_facts: fixes

* New module postgresql_facts: incl_subset => filter

New module postgresql_facts: fix a typo

New module postgresql_facts: fixes

Various cosmetic and doc changes

* New module postgresql_facts: fix filter type

* New module postgresql_facts: fix sanity

* New module postgresql_facts: change ansible_facts to postgresql_facts

* New module postgresql_facts: fix tests

* New module postgresql_facts: fixes

* New module postgresql_facts: fixes

* New module postgresql_facts: fixes

* New module postgresql_facts: doc fixes

* New module postgresql_facts: added pretty_val

* New module postgresql_facts: added pending restart

* New module postgresql_facts: fix documentation

* New module postgresql_facts: fix documentation

* New module postgresql_facts: fixes by KN

* New module postgresql_facts: fixed sanity

* New module postgresql_facts: fixed tests
2019-03-18 11:31:32 +00:00
Matt Clay
906427caba
Add shippable/posix/group4/ for CI. (#53816) 2019-03-15 07:25:37 -07:00
Matteo Ferrando
86405b8fe4 (postgresql_privs) accept 'ALL_IN_SCHEMA' objs for 'function' type (#35331)
* avoid using Postgres formatting function
* add tests for ALL FUNCTIONS IN SCHEMA
* documentation and changelog
* requested changes in tests
* fixed changelog
2019-03-14 20:21:05 +05:30
Bartosz Licheński
6e198487c9 postgresql_privs: Support FOREIGN DATA WRAPPER and FOREIGN SERVER (#38803)
* Support FOREIGN DATA WRAPPER and FOREIGN SERVER in postgresql_privs module
* Added available from note to fdw and fs object types
* Integration tests, examples in documentation
* Complete integration tests
2019-03-08 14:51:03 +05:30
Andrey Klychkov
b41027b6cd New module postgresql_tablespace (#52914)
* New module postgresql_tablespace
2019-03-07 16:27:20 +00:00
Andrey Klychkov
e246e74843 New module postgresql_ping: Checks remote PostgreSQL server availability. (#51477)
* New module postgresql_ping: simple module to check remote PostgreSQL server availability.

* New module postgresql_ping: simple module to check remote PostgreSQL server availability, doc fixes

* postgresql_ping: added integration tests

* New module postgresql_ping: misc changes

* New module postgresql_ping: change return suit

* New module postgresql_ping: tests reformatting, return value

* Various cosmetic/documentation fixes

* A few more fixes

* And even more cleanups

* Fix PEP8 issue
2019-03-06 11:01:13 +00:00
Andrey Klychkov
be75c79941 New module postgresql_query (#52555)
* New module postgresql_query

* New module postgresql_query: added tests

* New module postgresql_query: added path_to_script

* New module postgresql_query: fix doc

* New module postgresql_query: fix autocommit

* New module postgresql_query: added exception for centos6 tests

* New module postgresql_query: fixes

* New module postgresql_query: add psycopg2 check

* New module postgresql_query: add psycopg2 check, fix

* New module postgresql_query: add psycopg2 check, fix

* New module postgresql_query: add psycopg2 check, fix

* New module postgresql_query: fix a type
2019-02-25 14:08:04 +00:00
Andrey Klychkov
8e0f95951d Module postgresql_idx: added ci tests, new params, returned values, code refactoring (#52230)
* postgresql_idx: ci tests, refactoring, return values

* postgresql_idx: ci tests, new params, return values

* postgresql_idx: ci tests, fix

* postgresql_idx: ci tests, fix

* postgresql_idx: ci tests, fix

* postgresql_idx: ci tests, fix

* postgresql_idx: ci tests, fix

* postgresql_idx: ci tests, fix

* postgresql_idx: ci tests, fix

* postgresql_idx: ci tests, fix

* postgresql_idx: ci tests, fix

* New module postgresql_table - fix tests

* New module postgresql_table - fix tests

* New module postgresql_table - fix tests

* New module postgresql_table - fix state choices order
2019-02-15 15:38:56 +01:00
Feike Steenbergen
38e70ea317 Add session_role to postgresql modules (#43650)
* Allow session_role to be set for PostgreSQL

By implementing session_role it becomes possible to run the specific
PostgreSQL commands as a different role.
The usecase that is immediately served by this, is the one that one
ansible playbook can be shared by multiple users, which all have
their
own PostgreSQL login_user. They do not need to share login
credentials,
as they can share the role within the PostgreSQL database.

The following example may give some insight:

$ psql -U jdoe -X -d postgres

postgres=> CREATE DATABASE abc;
ERROR:  permission denied to create database
postgres=> set role postgres;
SET
postgres=# CREATE DATABASE abc;
CREATE DATABASE

fixes #43592

* Tests for session_role in PostgreSQL

* Bump version_added for session_role feature

* Remove explicit encrypted parameter from tests
2019-02-02 20:12:14 +01:00