serveurs:installation:bkp-srv:pre-prod-geonature

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
serveurs:installation:bkp-srv:pre-prod-geonature [2025/02/20 11:37] – [Création du container Docker hébergeant Postgresql & Nginx] jpmilcentserveurs:installation:bkp-srv:pre-prod-geonature [2025/03/20 12:04] (Version actuelle) – [Remplacer la base par la dernière version sauvegardée] jpmilcent
Ligne 353: Ligne 353:
     * Créer un utilisateur ''postgres'' sur l'hôte : <code bash>adduser --system --no-create-home postgres</code>     * Créer un utilisateur ''postgres'' sur l'hôte : <code bash>adduser --system --no-create-home postgres</code>
     * S'assurer que le fichier ''docker-compose.yml'' de la préprod lançant la base Postgres créé bien un mapping des sockets sur ''/run/postgresql'' dans les volumes (''- /run/postgesql/:/var/run/postgresql'').     * S'assurer que le fichier ''docker-compose.yml'' de la préprod lançant la base Postgres créé bien un mapping des sockets sur ''/run/postgresql'' dans les volumes (''- /run/postgesql/:/var/run/postgresql'').
 +    * Il semble aussi nécessaire de modifier le mapping utilisateur des Foreign Data Tables en indiquant que le mot de passe n'est pas requis :<code bash>
 +      sudo -u postgres -s psql -d $db_name -c "CREATE USER MAPPING FOR $owner_atlas SERVER geonaturedbserver OPTIONS (user '$atlas_source_user', password_required 'false') ;"  &>> log/install_db.log
 +</code> 
 +    * Le problème c'est que ce mécanisme ne marche pas en PROD où le mot de passe est bien requis ! Il faudrait chercher l'origine de la différence de fonctionnement...
 +      * En attendant, le plus simple semble de corriger le script ''install_db.sh'' sur la Préprod si besoin.
  
 === Stocker les logs Postgresql sur l'hôte === === Stocker les logs Postgresql sur l'hôte ===
Ligne 392: Ligne 397:
       * <color #ed1c24>**ATTENTION**</color> : La restauration précédente va bloquer sur le rafraîchissement de la VM "observations" pour une raison encore inconnue. Stopper la restauration avec ''CTRL+C''. Les tables et les VMs sont malgré tout généré dans la base. Il suffit donc de rafraichir l'ensemble des VMs pour finaliser la restauration.       * <color #ed1c24>**ATTENTION**</color> : La restauration précédente va bloquer sur le rafraîchissement de la VM "observations" pour une raison encore inconnue. Stopper la restauration avec ''CTRL+C''. Les tables et les VMs sont malgré tout généré dans la base. Il suffit donc de rafraichir l'ensemble des VMs pour finaliser la restauration.
       * Rafraîchir les VMs grâce au script ''gnatlas_refresh_all.sql'' : <code bash>docker compose run --rm preprod-postgres-restore psql -U geonatadmin -e -d gnatlas -f /restore/gnatlas_refresh_all.sql</code>       * Rafraîchir les VMs grâce au script ''gnatlas_refresh_all.sql'' : <code bash>docker compose run --rm preprod-postgres-restore psql -U geonatadmin -e -d gnatlas -f /restore/gnatlas_refresh_all.sql</code>
 +      * Notes : si **le fichier de la base de données prend trop de place** dans ''/home/geonat/docker/preprod/postgresql/restore/'', il est possible de le monter directement au bon endroit avec le paramètre ''%%--volume%%''. Ex. : <code bash>docker compose run --volume /data/tmp/restore/2025-03-20_geonature2db.custom:/restore/2025-03-20_geonature2db.custom --rm preprod-postgres-restore /restore/restore.sh -d "2025-03-20_geonature2db.custom"</code>
  
 ===== Docker Compose, Services SystemD et Nginx Proxy  ===== ===== Docker Compose, Services SystemD et Nginx Proxy  =====
  • serveurs/installation/bkp-srv/pre-prod-geonature.1740051463.txt.gz
  • Dernière modification : 2025/02/20 11:37
  • de jpmilcent