database:procedure-suppression-observations

Procédure de suppression rapide d'observations

  • Utiliser un fichier csv contenant une seule colonne "unique_id_sinp" et transmettre les UUID des observations à supprimer.
  • Envoyer le fichier sur le serveur : scp 2023-03-09_obs_to_delete.csv geonat@db-paca-sinp:/home/geonat/data/cbnmed/data/raw/
  • À l'aide de DBeaver créer un table dans le schéma gn_imports :
    CREATE TABLE gn_imports.cbnmed_20230309_fix_obs_to_delete (
    	unique_id_sinp uuid NOT NULL,
    	CONSTRAINT cbnmed_20230309_fix_obs_to_delete_pk PRIMARY KEY (unique_id_sinp)
    );
  • Se connecter au serveur et se placer dans le dossier contenant le fichier csv : cd data/cbnmed/data/raw/
    • Importer les UUID dans la table en base de données : cat ./2023-03-09_obs_to_delete.csv | psql -h localhost -U geonatadmin geonature2db -c "COPY gn_imports.cbnmed_20230309_fix_obs_to_delete(unique_id_sinp) FROM STDIN DELIMITER ',' CSV HEADER;"
    • Lancer la requête de suppression : psql -h localhost -U geonatadmin geonature2db -c "DELETE FROM gn_synthese.synthese WHERE id_source = 193 AND unique_id_sinp IN (SELECT unique_id_sinp FROM gn_imports.cbnmed_20230309_fix_obs_to_delete);"
  • Vérifier avec DBeaver la suppression des observations : SELECT * FROM gn_synthese.synthese WHERE id_source = 193 AND unique_id_sinp IN (SELECT unique_id_sinp FROM gn_imports.cbnmed_20230309_fix_obs_to_delete);
  • database/procedure-suppression-observations.txt
  • Dernière modification : 2023/03/09 16:19
  • de jpmilcent