DocScoDoc/misc/Restore-database.txt

71 lines
1.9 KiB
Plaintext

Notes sur la restauration de la base SQL complete (ScoDoc 9)
(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
On obtient un fichier texte assez volumineux (comprimé par gzip ci-dessus)
Le copier sur la machine destination, et le décompresser (gunzip).
2) Sur la machine destination:
Avant toute chose, stopper scodoc:
systemctl stop scodoc9
1.1) Supprimer toutes les bases ScoDoc existantes s'il y en a:
su scodoc
psql -l
liste les bases: celles de ScoDoc sont SCO*
Pour chaque base SCO*, faire dropdb
dropdb SCODOC
dropdb SCODOC_DEV
...
Pour les gens pressés, voici un script (à lancer comme utilisateur postgres):
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
1.3) Recopier les fichiers (photos, config, archives): copier le repertoire complet
/opt/scodoc-data
de la machine origine vers la nouvelle
Puis redemarrer ScoDoc:
en tant que root: systemctl start scodoc9
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 &&
----
Cas d'une seule base à copier (base production ou dev. par exemple)
En tant qu'utilisateur "scodoc":
Dump: permettant de la recharger en changeant son nom
pg_dump --format=custom --file=/tmp/SCODOC.dump SCODOC
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 )
--- à revoir
Cas d'un dump via sco_dump_db (assistance):
createdb -E UTF-8 SCOXXX
zcat xxx | psql SCOXXX