fix: persist recovery opts in in-place restore #231
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.
Summary
It's not possible to persist recovery options outside of the bootstrap process and it's not possible to force Patroni into the bootstrap process if the pgdata directory is non-empty.
So, this commit changes the in-place restore process to temporarily move the pgdata directory to a different name. Then, it changes the bootstrap command to simply move the pgdata directory back to its original name. This lets us keep our existing restore process and makes patroni keep the recovery options.
Testing
Reverting to an earlier backupBruno scenario in thelocal-backup-and-restoredirectory with these modifications:Backup database noderequest20251221-201008F) in the developer console output or look at the directory name in the repos folderBackup database noderequestRestore database noderequest with these options to restore the first set you created:{ "restore_config": { "source_database_id": "storefront", "source_node_name": "n1", "source_database_name": "storefront", "repository": { "id": "{{repository_id}}", "type": "posix", "base_path": "/backups" }, "restore_options": { "type": "immediate", "set": "<set name from above>" } } }PLAT-368