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 18/01/2019 18:11:56

abdallah007
Membre

plan du maintenance postgres sous windows

bonjour a tous

je doit procéder a mettre en place un plan du maintenance qui s’occupe de sauvegarder les base de données on une format bien définit

puis faire des opération vaccum  et reindex

j'ai essayer de faire ce script e Powershell aprés j'ai besoin de l'avis de nos experts car je doit le mettre sur un environement du production

de plus c'est mon premier jour du travaille chez le client donc je doit le faite sans erreur

$date=get-date -Format "dd_MM_yyyy"
Set-Location "C:\Program Files\PostgreSQL\11\bin\"
$path = "C:\backup\"
$list="C:\database.txt"
$databases=get-content -path $list
$databases=$databases.split(' ')
foreach ($database in $databases)
{
If(!(test-path $path\$database))
{

      New-Item -ItemType Directory -Force -Path $path\$database
}
./pg_dump -U postgres -d $database >$path\$database\$database'_'$date.sql
./psql -U postgres -d $database -e -a -c "VACUUM;"
.\reindexdb -d $database -U postgres
}

merci pour vos remarque et vos corrections

Hors ligne

#2 19/01/2019 15:36:48

rjuju
Administrateur

Re : plan du maintenance postgres sous windows

Bonjour,


Je ne connais rien à powershell, mais déjà à priori vous utiliser un fichier texte pour spécifier la liste des bases à sauvegarder, ce qui me parait une mauvaise idée.  Vous devriez requête pg_database pour obtenir la liste des bases.  De plus, vous faites ici une sauvegarde logique, peut être qu'une sauvegarde physique (ou PITR) serait nécessaire.  Sans connaître les contraintes, il est impossible de le savoir.  Je ne sais pas non plus si un REINDEX, qui bloquera les écritures sur toutes les tables successivement est acceptable.  Ensuite, vous ne sauvegardez ni les objets globaux (roles, tablespaces), ni les différents fichiers de configuration.  Il n'y a non plus aucun test sur le retour de chacune des commandes, donc à priori aucun moyen de savoir si les sauvegarde ont fonctionné ou non.  Finalement, il n'y a non plus aucune documentation sur la restauration, ni aucun test de validité des sauvegardes.


Mon conseil serait d'utiliser un outil de sauvegarde déjà existant plutôt que tenter de le faire vous même.

Hors ligne

Pied de page des forums