ScoDoc/misc/Restore-database.txt

70 lines
1.9 KiB
Plaintext
Raw Normal View History

2020-09-26 16:19:37 +02:00
Notes sur la restauration de la base SQL complete
(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 > scodoc.dump.txt
On obtient un fichier texte assez volumineux (on peut utiliser gzip pour le compresser avant transfert).
Le copier sur la machine destination.
2) Sur la machine destination:
Avant toute chose, stopper scodoc:
/etc/init.d/scodoc stop
1.1) Supprimer toutes les bases ScoDoc existantes s'il y en a:
su postgres
psql -l
liste les bases: celles de ScoDoc sont SCO*
Pour chaque base SCO*, faire dropdb
dropdb SCOUSERS
dropdb SCOGEII
...
Pour les feignants, 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 postgres):
psql -f scodoc.dump.txt postgres
1.3) Recopier les fichiers (photos, config, archives): copier le repertoire complet
/opt/scodoc/instance/var
de la machine origine vers la nouvelle
Puis redemarrer ScoDoc:
en tant que root: /etc/init.d/scodoc start
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):
cd /opt/scodoc/instance/Products/ScoDoc/config
./upgrade.sh
----
Cas d'une seule base à copier: (eg un seul département, mais faire
attention aux utilisateurs definis dans la base SCOUSERS):
En tant qu'utilisateur "postgres":
Dump: (script avec commande de creation de la base)
pg_dump --create SCOINFO > /tmp/scoinfo.dump
Restore: (si necessaire, utiliser dropdb avant)
psql -f /tmp/scoinfo.dump postgres
---
Cas d'un dump via sco_dump_db (assistance):
createdb -E UTF-8 SCOXXX
zcat xxx | psql SCOXXX