| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
| database:procedure-apres-integration-data [2022/11/09 14:45] – [Mettre à jour l'Atlas] jpmilcent | database:procedure-apres-integration-data [2026/02/03 11:21] (Version actuelle) – [Extraire les indicateurs liés à l'import] jpmilcent |
|---|
| Listes des étapes à suivre après une intégration de données (Gn2Pg ou via scripts). | Listes des étapes à suivre après une intégration de données (Gn2Pg ou via scripts). |
| |
| | **Pour AURA**, le script de maintenance automatisé doit se charger de réaliser toutes les étapes indiquées ci-dessous. |
| ==== Vérifier la cohérence des données ==== | ==== Vérifier la cohérence des données ==== |
| * Vérifier le bon fonctionnement de l'import : nombre de données dans la synthese, modification du nombre de données en ligne, ... | * Vérifier le bon fonctionnement de l'import : nombre de données dans la synthese, modification du nombre de données en ligne, ... |
| * Pour PACA : | * Pour PACA : |
| * Vérifier que les nouvelles données sont bien dans le territoire et toutes associées aux mailles utilisées pour floutage, sinon ajouter les zones géo (COM, DEP, M1, M5, M10) manquantes. | * Vérifier que les nouvelles données sont bien dans le territoire et toutes associées aux mailles utilisées pour floutage, sinon ajouter les zones géo (COM, DEP, M1, M5, M10) manquantes. |
| * Placez vous dans le dossier des scripts : '' cd ~/data/outside/data/sql/update/ '' | * Placez vous dans le dossier des scripts : '' cd ~/data/area-outside/data/sql/update/ '' |
| * Lister les observations sans zone géo liées : '' psql -h localhost -U geonatadmin -d geonature2db -f ./01_* '' | * Lister les observations sans zone géo liées : '' psql -h localhost -U geonatadmin -d geonature2db -f ./01_* '' |
| * Charge les zones géo concernées par le SINP : | * Charge les zones géo concernées par le SINP : |
| * les communes et départements : ''./02_load_admin_areas.sh geonature2db '' | * les communes et départements : ''./02_load_admin_areas.sh geonature2db '' |
| | * Si nécessaire, installer le paquet git-lgs : ''sudo apt install git-lfs'' |
| | * Installer LFS sur le dépôt : ''git lfs install'' |
| | * Télécharger les fichiers gérés avec LFS du dépôt : ''git lfs pull'' |
| * les mailles M1, M5 et M10 : ''./02_load_meshes.sh geonature2db '' | * les mailles M1, M5 et M10 : ''./02_load_meshes.sh geonature2db '' |
| * Insérer les zones géo manquantes : | * Insérer les zones géo manquantes : |
| * Le script ajoute les photos en tant que "secondaire" pour désigner celle avec le plus petit id_media (=~ au hasard) comme "principale" pour les nouveaux taxons, utiliser la requête suivante : | * Le script ajoute les photos en tant que "secondaire" pour désigner celle avec le plus petit id_media (=~ au hasard) comme "principale" pour les nouveaux taxons, utiliser la requête suivante : |
| * Pour PACA : | * Pour PACA : |
| * Soit via le fichier ''set_first_img.sql'' (recommandé) : ''psql -h localhost -U geonatadmin -d geonature2db -f ./set_first_img.sql'' | * Soit via le fichier ''set_first_img.sql'' (recommandé) sur serveur ''db-srv'' dans ''~/data/maintenance/data/sql/'' avec : ''psql -h localhost -U geonatadmin -d geonature2db -f ./set_first_img.sql'' |
| * Soit directement : ''psql -h localhost -U geonatadmin -d geonature2db -c "WITH first_media AS (SELECT MIN(id_media) AS first_id_media_founded, cd_ref FROM taxonomie.t_medias GROUP BY cd_ref) UPDATE taxonomie.t_medias AS tm SET id_type = 1 FROM first_media AS fm WHERE tm.id_media = fm.first_id_media_founded AND tm.cd_ref = fm.cd_ref ;"'' | * Soit directement : ''psql -h localhost -U geonatadmin -d geonature2db -c "WITH first_media AS (SELECT MIN(id_media) AS first_id_media_founded, cd_ref FROM taxonomie.t_medias GROUP BY cd_ref) UPDATE taxonomie.t_medias AS tm SET id_type = 1 FROM first_media AS fm WHERE tm.id_media = fm.first_id_media_founded AND tm.cd_ref = fm.cd_ref ;"'' |
| * Pour AURA : | * Pour AURA : |
| * Voir pour récupérer la requête qui tient compte des images du PIFH. | * Utiliser la requête qui tient compte des images du PIFH présente sur [[serveurs:installation:web-srv:geonature-atlas-mise-a-jour#import_des_images_de_l_inpn|la page suivante]]. |
| * **NOTES** : | * **NOTES** : |
| * Les vues matérialisées de l'Atlas nécessitent d'être mise à jour pour prendre en compte les nouveaux médias. | * Les vues matérialisées de l'Atlas nécessitent d'être mise à jour pour prendre en compte les nouveaux médias. |
| |
| ==== Maintenance de la base de données ==== | ==== 🗑️ Maintenance de la base de données ==== |
| | * **ATTENTION** : dans les versions récentes de Postgresql (v14+) cette manipulation n'est plus vraiment nécessaire. Le mécanisme automatique de nettoyage de la base semble efficace. Une "blocage" de la base de données a été constaté lors de son utilisation automatisé dans le cadre du SINP AURA. |
| * Sur le serveur ''db-srv'' : | * Sur le serveur ''db-srv'' : |
| * Vérifier la place restante : <code bash>df -h |grep /dev/sda1 ; du -hs /var/lib/postgresql/</code> | * Vérifier la place restante : <code bash>df -h |grep /dev/sda1 ; du -hs /var/lib/postgresql/</code> |
| * se placer dans GeoNature et activer le venv : <code bash>cd ~/geonature ; source backend/venv/bin/activate </code> | * se placer dans GeoNature et activer le venv : <code bash>cd ~/geonature ; source backend/venv/bin/activate </code> |
| * lancer la mise à jour des vues matérialisées : <code bash>geonature profiles update</code> | * lancer la mise à jour des vues matérialisées : <code bash>geonature profiles update</code> |
| | * désactiver le venv : <code bash>deactivate</code> |
| * Se détacher de la session Screen : ''Ctrl-a + Ctrl-d'' | * Se détacher de la session Screen : ''Ctrl-a + Ctrl-d'' |
| |
| | ==== Actualisation stats page accueil GeoNature Expert ==== |
| | * Se rendre sur la page d'accueil du GeoNature |
| | * Appuyer sur la touche ''F12'' pour ouvir les outils développeurs du navigateur |
| | * Aller sur l'onglet "Appli" et choisir l'URL du site sur l'entrée "Stockage local" |
| | * Dans la liste des entrées disponibles supprimer ''homePage.stats'' |
| | * Actualiser la page d'accueil de GeoNature avec ''F5'' |
| | * Le chargement des nouvelles statistiques devrait se lancer |
| ==== Mettre à jour l'Atlas ==== | ==== Mettre à jour l'Atlas ==== |
| * Sur le serveur ''web-srv'' : | * Sur le serveur ''web-srv'' : |
| * Passer l'Atlas en maintenance : '' mv ~/www/maintenance/atlas/maintenance.disable ~/www/maintenance/atlas/maintenance.enable '' | * Passer l'Atlas en maintenance : '' mv ~/www/maintenance/atlas/maintenance.disable ~/www/maintenance/atlas/maintenance.enable '' |
| * Synchroniser le dossier Atlas avec le serveur ''db-srv'' si nécessaire : <code bash>rsync -av -e "ssh -p <port-ssh-db-srv>" /home/geonat/www/atlas/ geonat@<ip-privée-db-srv>:/home/geonat/www/atlas/</code> | * Vérifier l'activation du message de maintenance sur le site de l'Atlas |
| * Sur le serveur ''db-srv'' : | * Sur le serveur ''db-srv'' : |
| * Lancer la mise à jour de l'Atlas : | * Lancer la mise à jour de l'Atlas : |
| * activer une session Screen : <code bash>screen -S atlas-update</code> | * activer une session Screen : <code bash>screen -S atlas-update</code> |
| * se placer dans le dossier de l'Atlas : <code bash>cd ~/www/atlas/ </code> | * se placer dans le dossier de maintenance : <code bash>cd ~/data/maintenance/data/sql/ </code> |
| * modifier le fichier ''settings.ini'' pour mettre à true le paramètre ''drop_app_db'' : <code bash>vi atlas/configuration/settings.ini </code> | * lancer la mise à jour des vues matérialisées de l'Atlas : <code bash> psql -h localhost -U geonatadmin -d gnatlas -f ./atlas_refresh.sql </code> |
| * Déconnecter toutes les connexions à la base ''gnatlas'' et lancer la réinstallation (en supprimant la base) : <code bash>sudo -u postgres psql -c "SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'gnatlas' AND pid <> pg_backend_pid();" && ./install_db.sh</code> | |
| * Se détacher de la session Screen : ''Ctrl-a + Ctrl-d'' | * Se détacher de la session Screen : ''Ctrl-a + Ctrl-d'' |
| * Sur le serveur ''web-srv'' : | * Sur le serveur ''web-srv'' : |
| * Supprimer la maintenance de l'Atlas : '' mv ~/www/maintenance/atlas/maintenance.enable ~/www/maintenance/atlas/maintenance.disable '' | * Supprimer la maintenance de l'Atlas : '' mv ~/www/maintenance/atlas/maintenance.enable ~/www/maintenance/atlas/maintenance.disable '' |
| | * Vérifier la désactivation du message de maintenance sur le site de l'Atlas |
| | * Relancer le service de l'Atlas : ''sudo systemctl restart geonature-atlas.service'' |
| |
| | ===== Rafraîchir les vues matérialisés du schéma gn_exports ===== |
| | * Pour PACA : |
| | * Se connecter avec DBeaver à la base de production et ouvrir le schéma gn_exports. |
| | * Sélectionner toutes les VM nécessitant d'être mise à jour |
| | * Faire un clic droit : "Outils" > "Refresh materialized views" |
| | * Cocher "With data" et cliquer sur "Commencer" |
| | * Une fois le rafraîchissement terminé penser à "**Appliquer (commit)**" les changements si votre base le nécessite. |
| | ==== Extraire les indicateurs liés à l'import ==== |
| | * Pour PACA : |
| | * En local, se placer dans le dossier ''indicators/'' du dépôt ''sinp-<region>-data'' avec : <code bash> cd /<path>/sinp-paca-data/extracts/indicators</code> |
| | * Lancer la commande : <code bash> |
| | cat ./observations_count_by_imports.sql | ssh geonat@db-paca-sinp 'export PGPASSWORD="<db-user-pwd>" ; psql -q -h localhost -p 5432 -U gnreader -d geonature2db' > ./$(date +'%F')_obs_by_imports.csv |
| | </code> |
| | * 📍 Vérifier les données extraites pour s'assurer que les derniers imports ont bien des valeurs différentes des précédents. Si les données sont identiques cela peut indiquer que le dossier ''data/'' n'a pas été correctement nettoyé avant le nouvel import et que les anciennes données ont été réutilisées... |