serveurs:installation:db-srv:geonature-db

Installer GeoNature DB

  • Préalable : il est nécessaire d'avoir installé GeoNature sur le serveur web-srv et copié l'installation de GeoNature sur le serveur db-srv.
  • Se placer dans le dossier install/ : cd /home/geonat/www/geonature/install/
  • Lancer le script d'installation de la base de données : ./install_db.sh
    • Si le script indique que la base de données existe déjà et que vous souhaitez l'installer ou la réinitialiser :
      • ATTENTION : cette manipulation efface tout le contenu de la base !
      • Éditer le fichier settings.ini avec : vi ../config/settings.ini
      • Modifier le paramètre suivant : drop_apps_db=true
      • Relancer le script d'installation de la base de données
      • ATTENTION : une fois terminé, passer à nouveau le paramètre drop_apps_db du fichier settings.ini à false.
  • Notes : c'est la commande geonature qui lance l'installation des modules du cœur de GeoNature. Or, cette commande est lancée par le script install_app.sh qui est lancé côté instance web-srv. Nous devons donc installer manuellement le schéma du module côté instance db-srv.
  • Se connecter à l'instance db-srv en tant que geonat : ssh geonat@db-<region>-sinp
  • Se placer dans le dossier du module : cd ~/www/geonature/contrib/occtax/
  • Lancer l'installation du schéma du module : ./install_db.sh

(psycopg2.errors.DatetimeFieldOverflow) date/time field value out of range: "19/02/2020 00:00:00"

  • Problème : saisie d'observation dans OccTax ne fonctionne pas.
  • Origine : cela provient d'une commande de modification du fichier /etc/postgresql/*/main/postgresql.conf présente dans le script install_all.sh de GeoNature avant la version 2.3.1 (au delà, la commande a été transférée dans le script install_db.sh). Notre installation n'utilisant pas ce script n'a pas la modification correspondante.
  • Solution :
    • Se connecter sur l'instance db-srv : ssh admin@db-<region>-sinp
    • Éditer le fichier suivant : vi /etc/postgresql/11/main/postgresql.conf
    • Modifier la propriété datestyle comme suit :
      datestyle = 'iso, dmy'
    • Redémarrer le service : systemctl restart postgresql
    • Redémarrer vos sessions de connexion à la base de données
    • Vérifier la prise en compte du changement avec la requête SQL :
      SHOW datestyle;

sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) terminating connection due to administrator command

  • Message erreur côté navigateur :
    Blocage d’une requête multiorigines (Cross-Origin Request) ... sur https://taxhub.silene.eu/api/.... Raison : l’en-tête CORS « Access-Control-Allow-Origin » est manquant.
  • Problème : impossible de faire apparaître la liste des taxons d'autocomplétion dans OccTax.
  • Origine : lorsqu'on redémarre Postgresql alors que Taxhub est entrain d’exécuter une requête, le driver Python psycopg2 remonte une erreur.
  • Solution : redémarre le service Taxhub avec la commande supervisorctl restart taxhub. De manière générale, redémarrer les services de GeoNature après un redémarrage de Postgresql est une bonne pratique.
  • serveurs/installation/db-srv/geonature-db.txt
  • Dernière modification : 2021/04/14 08:06
  • de jpmilcent