[pmg-devel] applied: [PATCH pmg-api 0/2] fix table order on backup and add foreign key constraint for new tables
Thomas Lamprecht
t.lamprecht at proxmox.com
Thu Feb 22 14:29:57 CET 2024
Am 22/02/2024 um 13:40 schrieb Stoiko Ivanov:
> This follows the RFC from
> https://lists.proxmox.com/pipermail/pmg-devel/2024-February/002776.html
>
> huge thanks to Dominik for catching the issue upon backup+restore with
> the constraints added, and to Stefan Hanreich, for looking through the
> table create statements with me!
>
> For the creation of indexes - I think we are covered - as there is an
> explicit index on the referenced row (e.g. rule.id for rule_attributes) -
> it was just not part of the diff-context.
> Stefan correctly pointed out that the primary-key index (rule_id, name),
> should already be enough - see [0], but in this case (rather little
> rows, few writes) I think having the index in addition as we do for the
> existing attribut table has its merits
>
> changes from the RFC:
> * added a patch to create our rule-db backup in the correct order (tables
> referencing columns in other tables coming after) - while this did work,
> because the schema does not use foreign keys and other constraints
> currently I'd still think it has its merits - e.g. should we ever
> introduce constraints for other tables old backups could not get
> restored anymore. The better approach would probably be to replace our
> own dumping logic by an appropriate call to pg_dump - but this can
> happen as a follow-up
> * tested a restore of a backup created with the patches applied (more
> testing would still be much appreciated
> * formated the patches with `-U6` so that the create index statements are
> visible, without applying the patch
>
>
> [0] https://www.postgresql.org/docs/current/indexes-multicolumn.html
>
> Stoiko Ivanov (2):
> backup: reorder tables in order of dependency
> database: use foreign keys for rule and object group attributes
>
> src/PMG/Backup.pm | 6 +++---
> src/PMG/Cluster.pm | 2 --
> src/PMG/DBTools.pm | 6 ++----
> src/PMG/RuleDB.pm | 6 ------
> 4 files changed, 5 insertions(+), 15 deletions(-)
>
applied both patches with Dominik's T-b & R-b, thanks!
More information about the pmg-devel
mailing list