-
-
-
-
-
v0.27.0364da62a · ·
pglift v0.27.0 Add support for RockyLinux 9 Let user provide a name for pgbackrest stanza Handle REASSIGN OWNED and DROP OWNED when dropping a role Raise a specific error if role being dropped has dependent database objects Improve handling of model validation errors in the CLI Raise a specific error when Postgres bindir for requested version does not exist Limit database connection opening in 'instance get' Turn --json CLI option into --output-format=json Add a PyOxidizer configuration to build a binary version of pglift Make it possible to create a database as a clone of an existing one Handle installation global pgbackrest configuration through 'site-configure' command Add JSON output to 'instance env' command Add JSON output to '* apply' commands Add an example playbook for a standby instance in the documentation Pass replication password through environment when invoking pg_basebackup Rename Instance model's "configuration" field as "settings" Exclude pgbackrest_restore field 'instance get' command Fix pgbackrest setting name in Ansible tutorial Fix changing prometheus password upon instance alter Give SETTINGS environment variable precedence over YAML setting files Prevent retrieval of standby information for Patroni-managed instance Fix type error when retrieve instance env from Ansible module Keep Prometheus password upon upgrade Don't comment entries, generated by initdb, in postgresql.conf Define 'postgresql.versions' setting as a tuple Fix temboard-agent service name inconsistency Rename Standby's 'for' field as primary_conninfo Use pglift CLI in Ansible modules, instead of the Python API Fix systemd service name for Patroni-managed instances Fix settings in Ansible tutorial ('pgpass' fields missing for 'surole' and 'backuprole') Don't let postgres_exporter auto discover databases
-
v0.26.02ceac74d · ·
pglift v0.26.0 Handle 'log_directory' relative to PGDATA Possibly pass "backup" password to pgbackrest commands when initializing Document how PostgreSQL configuration is managed in user section Add PostgreSQLStopMode to ensure value is in smart, fast and immediate Drop support for PostgreSQL 10 Fix calculation of Postgres parameters changes from Patroni configuration Properly serialize timedelta values in Patroni configuration Delete Patroni logs when dropping respective instance Stream Patroni bootstrap logs through our logger Don't raise exception if instance already started in start Add --all option for start/stop/restart/reload instance in CLI Show instance name in reload log info Disable log collector when starting Postgres temporarily Drop support for python < 3.9 Make datadir and waldir can be configured to be outside of "root" dir Fix standby detection with PostgreSQL 11 Allow to create instances using pgbackrest restore Give an example of how to reset a GUC parameter Fix pgbackrest setup documentation Always set use_unix_socket options in Patroni configuration Replace patroni 'bin_dir' setting by 'execpath' Add missing env_prefix to Patroni settings Add --(no-)drop-on-error options to 'instance create' command Make pgbackrest's spoolpath settings global Make pgbackrest's logpath settings global Remove pgbackrest log files at instance drop Make pgbackrest's lockpath settings global Make pgbackrest's repopath setting global Add a 'deleting' parameter to stop_postgresql() hook Back up Patroni config when dropping the last node Separate stanza-specific pgbackrest configuration from global Add a dumps_directory property to system Instance Make datadir, waldir and dumps_directory use "name" and "version" Drop references to unused packages in mypy config Mention Patroni integration in the README Adjust type of PrefixedPath.prefix() Validate "prefix" settings expected to be absolute Make psqlrc and psql_history are stored in datadir Drop postgresql.root settings
-
v0.25.007ee88ad · ·
pglift v0.25.0 Add elements and options keys to improve ansible argspec generation Allow stronger passwords for prometheus (but no blank space allowed) Rename interface.Instance.service to service_manifest Set service_manager/scheduler setting if systemd is set globally Pass systemd settings value to functions handling PostgreSQL unit installation Makre sure func tests stop at first error in CI Change the way plugins are registered Honor backuprole.pgpass setting Move Ansible tests out of 'func' directory Update .pgpass during instance upgrade Fix condition for insert a pgpass entry for super-user during upgrade Simplify passfile read during instance upgrade Use a specific level for logging hook events in tests Improve logging during pgpass changes Prevent useless update of pgpass entries when password did not change Use "new" port value in passfile.instance_configure() when creating Turn roles.set_pgpass_entry_for() into a role_change() hook Update ansible tutorial to ensure systemd is active Delete "failed to upgrade" instance through task revert Always apply role and database changes in instance.apply() Fix 'logpath' setting for pgbackrest to use log-prefixed directory Refactor connect_dsn() according to psycopg version Force autocommit to True in connection Do not check pending_restart if instance is being created Only do a system lookup for INSTANCE argument completion in CLI Build PGCtl object from instance's bindir Add a new postgresql_running context manager Make running context manager rely on postgresql_running Override systemd unit conf for tests with many starts Map 'input' to 'data' to run commands with Ansible Drop dependency on postgresql service in systemd service for backup Only apply plugins roles and databases when creating the instance Add a log message about possible extensions installation changes Move SSL options from instance to config field Let the 'promote' action be handled by a hook Let the 'standby' interface model be handle by a hook Let path to "editable" postgresql.conf be handled by a hook Let PostgreSQL auth setup be managed by a hook Let the 'reload' action be handled by a hook Remove run_hooks param in stopped Remove run_hooks param from instances.stop Change type for instance in instances.stop Generate Ansible documentation from models Make replrole available when templating pg_ident.conf Stop automatically creating replication slot on primary Let reconfigure_instance() test helper yield changes dict Install etcd in CI docker images Add support for Patroni Turn systemd into a plugin (for service_manager and scheduler)
-
v0.24.0823ebefa · ·
pglift v0.24.0 Add support for database dump, restore and list Handle hostname error in temBoard Agent Configure logging in 'postgres' and 'backup' entry points Fix temboard-agent systemd unit not enabled during setup Ensure socket_directory exists before starting instance Do not crash upon instance drop if 'dumps_directory' does not exist Make descriptions of pid_file settings consistent Add documentation for pg_back usage for db dumps Bump pgtoolkit version Set default 'port' field value during validation Adjust permissions of the crt SSL files Allow to specify backup password Make Ansible modules fail when pglift is bellow a specific version Fix authentication for 'backup' role during pgbackrest setup Upgrade setuptools requirement for recent setuptools-scm Move postgresql SSL certificate files outside DATADIR Improve live logging when starting a program Add instances.is_ready() Start PostgreSQL with 'postgres' instead of 'pg_ctl start' Handle plugins' role creation through a hook Handle plugins' database creation through a hook Split doc index page into index + quickstart Move shell completion doc in the howto section and improve it Only log subprocesses stderr, not stdout Make it possible to disable PoWA and pgbackrest at instance configuration Generate Ansible RETURN fields based on model Do not generate powa role password Allow alternative authentication methods for pgbackrest Let PostgreSQL start/stop/restart be handled by a hook Let PostgreSQL systemd unit be handled by hook Let PostgreSQL cluster initialization be handled by a hook Let PostgreSQL configuration writing be handled by a hook Document how to compute the changelog in reverse order
-
v0.23.01b25e5ec · ·
pglift v0.23.0 Clean lock-path and spool-path when deconfiguring pgbackrest Only delete 'logpath' if we created it Do not log stdout when generating SSL certificate Fix required language in docs configuration Add support for temboard-agent Remove --log.format option for prometheus-postgres-exporter Simplify systemd service template for prometheus-postgres-exporter Fix unexpected update of pgpass entries upon instance creation Return false from pending_restart on stopped instance Add pending_restart to Ansible instance result Add a "restarted" instance state Move backup(s) and restore commands to the pgbackrest module Use XDG_RUNTIME_DIR as default RunPath Use /etc/systemd/system as default unit path when running as root Log a warning when reverting a task during rollback Check that a port is not used at instance creation Always generate a "disable" flag for boolean parameters in CLI Move monitoring docs from operations to setup section Improve documentation about 'logpath' setting Use --ask-vault-password in Ansible tutorial Rework Ansible tutorial Add a note in standby howto about super-user password and pgpass Move developer's tools configuration to their own file Rename --regen-test-data pytest option as --write-changes Document usage of --write-changes pytest flag Honor --no-plugins pytest flag Add function to define if an instance is running Merge db.superuser_connect() into db.connect() Make Instance's port field non-optional and default to 5432 Always enable validation on Manifest's fields Improve 'port' validation in interface model Disallow mutation of Manifest values
-
v0.22.030bcf795 · ·
pglift v0.22.0 Avoid useless start of standby instances during prometheus setup Handle PostgreSQL configuration for pgBackRest through a template file Do not alter max_wal_senders when setting up pgBackRest Fix 'instance apply' command to account for satellite components Set no target-action when restoring without a target Set target-action=immediate when restoring from a label Configure new instance before running pg_upgrade command Use a URI instead of key=value for DSN for prometheus config Fix pgpass update upon port change from default value Allow to specify password for replication user of a standby instance Allow user to modify the value of locale subcategories Emit a log messages when lc_ setting are heterogeneous Add a 'restart_on_changes' field to control automatic instance restart Add a pending_restart field on Instance Allow to specify role password for postgres_exporter Extend automatic reload to different settings contexts Add 'databases' and 'roles' fields to 'instance' Ansible module Add a --json flag to 'instance backups' command Add instance_configuration hook Add support for PoWA Return a 'changed' flag from apply() functions in API Document pgBackRest site setup Add a note about Prometheus in standby how to Rework user documentation about instance backup and restore
-
-
v0.21.002aebec7 · ·
pglift v0.21.0 Add support for database-level extensions Allow to specify authentication method at instance creation Introduce SiteSettings class Shorten table of 'instance get' command output Add a dalibo.pglift.dsn_info Ansible module Make "instance" Ansible module also return "env" key Add dynamic documentation fragments for Ansible modules Properly handle missing runtime dependencies in Ansible modules Document settings fields Fix documentation of Database::owner field Fix, or add missing, descriptions on interface models
-
v0.20.00966e45a · ·
pglift v0.20.0 Show default auth settings in YAML in documentation Make password_command setting a list Fix local and host authentication reversed descriptions Improve CLI choices for options with multiple values Allow to specify character encoding value at instance creation Add error Ansible collection usage without pglift Add a --schema option to site-settings command Use CASCADE when creating or dropping extensions Log conninfo when opening a connection Template pg_ident.conf with 'surole' and 'sysuser' Document how to setup peer authentication Add Context.site_config() and Settings.site_settings() Use "peer" authentication for super-user in functional tests Do not log output from password_command run Make password_command setting instance-scoped Make prometheus.execpath setting required Catch invalid settings in CLI
-
v0.19.01f1971ff · ·
pglift v0.19.0 Add support for "general" (non-default) privileges Do not log Cancelled exceptions when reverting an action Document that the empty {} in Database.settings resets all settings Add basic info for Ansible collection dependencies Alert on creating instance if pgbackrest configuration exist Improve interface model and CLI w.r.t. PostgreSQL version Ensure to include both letters and nonletters in password Expose data_checksums in instance description Add pgbackrest environment variables to instance env command Handle no-op in 'pgconf edit' command Rename 'describe' operations as 'get' Let 'instance get' command only accept one argument Let 'get' commands output either a table or some JSON Also query extensions for standby when getting an instance Allow to specify locale value at instance creation Implement replication lag computation for standby instances Add replication lag in Instance's standby description
-
v0.18.0bcfbe75c · ·
pglift v0.18.0 Catch SQL programming errors in 'database run' command Hide 'apply' commands Do not try to create 'monitoring' role on standby instances Fail fast when trying to start/stop a non-existing postgres_exporter Restore missing shell completion of instance 'create' and 'alter' commands Check if pgpass file exists when testing if role is in Configure a psqlrc and its history through 'env' and 'exec' commands Prompt for restart if needed upon 'pgconf edit' Handle site templates for pg_hba.conf and pg_ident.conf Add --interactive option, complementing --non-interactive, in CLI Replace 'instance restore --list' command with 'instance backups' Prompt for confirmation of backups deletion upon instance drop Add support for instance extensions Implicitly depend on psycopg, to fix installation on CentOS 7
-
v0.17.0a49b1582 · ·
pglift v0.17.0 Require a minimal pip version for installation Add a note in Ansible tutorial about Python 3 Prompt for instance restart after configuration changes Add an option in database list command to specify database Do not comment lc_* configuration parameters set by initdb Allow user to use pglift without postgresql installed Don't try to remove passfile if it does not exist
-
v0.16.053169461 · ·
pglift v0.16.0 Show actual value for password fields in instance describe Add explicit start when dumping manifest as YAML Handle variadic INSTANCE argument in 'instance' commands Fix completion of 'instance' commands with no sub-command Set surole password at initdb Remove --surole-password and --replrole-password from instance alter Always set password when available in "role alter" Fallback to prompt for surole password when missing Show default action when prompting in CLI Add a --non-interactive command-line option to disable confirmation Prettify sizes in tables show in cli Mark read-only interface model fields as such Don't prompt for restart if the instance is stopped Add completion command to show auto-complete files Show backup stop date in `instance restore --list` Invite dev users to upgrade pip Correct command instance config to pgconf in instance logs documentation Clarify standby setup documentation about connection to the primary Mention linting, formatting and type-checking in dev documentation Document directory format instead of Custom format in pg_dump example Specify postgres version with --pg-version option in func tests Distinguish unit and func tests in tox and CI Use 'pg_version' fixture when it was missing Modify pre-commit commands to match tox configuration Require pgtoolkit >= 0.20.1
-
-
v0.15.0097f485f · ·
pglift v0.15.0 Use dedicated role for monitoring Make 'instance describe' return standby metadata Turn the "instance" positional argument into a required option Guess INSTANCE for 'instance' commands when there is only one Display query result for "database run" command Display status message for "database run" command Fix message when updating passfile entry on port change Don't update the pgpass if port hasn't changed Ensure components are restarted when the instance is Add more logging information in non-interactive mode Add some clarifications to default privileges documentation Add note to tell user to install/enable prometheus in documentation Depends on psycopg[binary], simplifying installation