Vous n'êtes pas identifié(e).
Pages : 1
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
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.
Julien.
https://rjuju.github.io/
Hors ligne
Pages : 1