feat: support kwargs for pg conn in pg_listener #383
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What:
This PR adds support for a dictionary of pg_param:value for the connection follow the standard use of Connection.connect with backward compatibility. Also enhances the validation of plugin arguments, extends test coverage and update module docstring according to the changes.
postgres_params
Why:
Psycopg library has native support for a dsn string and kwargs params. There is no need to force the definition of a connection string, key:value pairs are more usual and makes easier the integration since it can be handled as a structured data.
This is also related to ansible/eda-server#1176 and part of a series of efforts to improve how we handle pg_notify configuration.
How:
Adding the new option
postgres_params
and making both,postgres_params
anddsn
optional but at least one must be provided. Encapsulates validation logic in_validate_args
Psycopg library handles automatically the merge of both methods, we only need to pass the kwargs.