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