PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 23/05/2021 17:45:30

pat75015
Membre

pg_basebackup - restauration partielle de l'instance

Bonjour,

Je débute en postgresql , mais à la base DBA Oracle.

Dans ma compréhension pg_basebackup est un équivalent de RMAN d'Oracle.

Avec RMAN on peut restaurer unitairement certains datafiles de la base s'ils ont été corrompus sans restaurer l'intégralité de la base de données.

Je ne vois pas avec postgresql, avec une sauvegarde via pg_basebackup, comment faire pour ne restaurer que certains fichiers de l'instance et d'appliquer ensuite les WALs pour avoir une consistence, sans restaurer la totalité de l'instance.

Est-ce possible avec postgresql de réaliser ce genre de restauration suite à une sauvegarde avec pg_basebackup ? Ou sinon quelle serait la solution?


Merci
Pat'

Hors ligne

#2 23/05/2021 19:14:59

rjuju
Administrateur

Re : pg_basebackup - restauration partielle de l'instance

Ce n'est pas possible.  Les notions de base, instance et schéma sont différentes entre postgres et oracle.  Si vous voulez ne pouvoir restaurer qu'une seule base avec une sauvegarde physique, alors n'utilisez qu'une seule base par instance.  Cela ne posera pas de soucis particulier avec postgres.

Hors ligne

#3 23/05/2021 19:24:50

pat75015
Membre

Re : pg_basebackup - restauration partielle de l'instance

Ok merci de la réponse.

Mais donc même si on a une seule base par instance il n'est pas possible de restaurer uniquement quelques fichiers corrompus?
Pour une base de 1To, si on a un fichier de 2 Go corrompus on est donc obligé de restaurer les 1To et pas seulement le fichier de 2Go et d'appliquer dessus les WALs ?
Avec Oracle cette fonctionnalité est possible et permet une grande souplesse et une grande rapidité de restauration.

Savez-vous si cette possibilité est dans le backlog des futures versions de postgresql ?

Hors ligne

#4 24/05/2021 07:27:27

rjuju
Administrateur

Re : pg_basebackup - restauration partielle de l'instance

Mais donc même si on a une seule base par instance il n'est pas possible de restaurer uniquement quelques fichiers corrompus?

Pour une base de 1To, si on a un fichier de 2 Go corrompus on est donc obligé de restaurer les 1To et pas seulement le fichier de 2Go et d'appliquer dessus les WALs ?

Effectivement, mais vous pouvez vous approcher de ça en utilisant un outil type rsync pour limiter la copie.  De plus les fichiers sur postgres font 1Go par défaut.


Cela dit, en cas de corruption ce qui prend le plus de temps n'est à priori pas la restaurant mais le diagnostic pour trouver la cause (souvent matérielle), et résoudre le problème (qui peut impliquer le déplacement de toutes les données sur un autre serveur, et dans ce cas la restauration partielle n'a pus aucun intérêt).


De plus, si le temps d'interruption dans ce genre de situation est vraiment critique, la solution n'est pas une restauration partielle mais de la haute disponibilité, et dans ce cas encore la restauration partielle n'a plus aucun intérêt.



Savez-vous si cette possibilité est dans le backlog des futures versions de postgresql ?

Il y a eu des discussions pour ce genre de fonctionnalité mais il n'y a pas de propositions concrètes pour le moment.

Hors ligne

#5 24/05/2021 08:02:10

pat75015
Membre

Re : pg_basebackup - restauration partielle de l'instance

Ok merci beaucoup pour vos précisions

Hors ligne

Pied de page des forums