ScoDocMM/misc/Restore-database.txt

71 lines
1.9 KiB
Plaintext
Raw Permalink Normal View History

2020-09-26 16:19:37 +02:00
Notes sur la restauration de la base SQL complete (ScoDoc 9)
2020-09-26 16:19:37 +02:00
(dans le cas d'une réinstallation sur une autre machine, par exemple)
1) Sur la machine origine, faire un dump complet:
su postgres
cd /tmp # ou ailleurs...
pg_dumpall | gzip > scodoc.dump.txt.gz
2020-09-26 16:19:37 +02:00
On obtient un fichier texte assez volumineux (comprimé par gzip ci-dessus)
2020-09-26 16:19:37 +02:00
Le copier sur la machine destination, et le décompresser (gunzip).
2020-09-26 16:19:37 +02:00
2) Sur la machine destination:
Avant toute chose, stopper scodoc:
systemctl stop scodoc9
2020-09-26 16:19:37 +02:00
1.1) Supprimer toutes les bases ScoDoc existantes s'il y en a:
su scodoc
2020-09-26 16:19:37 +02:00
psql -l
liste les bases: celles de ScoDoc sont SCO*
Pour chaque base SCO*, faire dropdb
dropdb SCODOC
dropdb SCODOC_DEV
2020-09-26 16:19:37 +02:00
...
Pour les gens pressés, voici un script (à lancer comme utilisateur postgres):
2020-09-26 16:19:37 +02:00
for f in $(psql -l --no-align --field-separator . | grep SCO | cut -f 1 -d.); do
echo dropping $f
dropdb $f
done
1.2) Charger le dump (toujours comme utilisateur scodoc):
psql -f scodoc.dump.txt scodoc
2020-09-26 16:19:37 +02:00
1.3) Recopier les fichiers (photos, config, archives): copier le repertoire complet
/opt/scodoc-data
2020-09-26 16:19:37 +02:00
de la machine origine vers la nouvelle
Puis redemarrer ScoDoc:
en tant que root: systemctl start scodoc9
2020-09-26 16:19:37 +02:00
NB: si la version des sources a changée, lancer imperativement le script de mise a jour
avant de redemarrer scodoc, afin qu'il change si besoin la base de donnees:
(en tant que root):
apt-get update &&
2020-09-26 16:19:37 +02:00
----
Cas d'une seule base à copier (base production ou dev. par exemple)
2020-09-26 16:19:37 +02:00
En tant qu'utilisateur "scodoc":
Dump: permettant de la recharger en changeant son nom
pg_dump --format=custom --file=/tmp/SCODOC.dump SCODOC
2020-09-26 16:19:37 +02:00
Restore: (si necessaire, utiliser dropdb avant)
createdb SCODOC_IUTV
pg_restore -d SCODOC_IUTV SCODOC.dump
(si on veut garder le même nom de base que l'origine, utiliser --create )
2020-09-26 16:19:37 +02:00
--- à revoir
2020-09-26 16:19:37 +02:00
Cas d'un dump via sco_dump_db (assistance):
createdb -E UTF-8 SCOXXX
zcat xxx | psql SCOXXX