Message posté par : Anthony B. (anthony.besson.job(a)gmail.com)
----------------------------------------
Bonjour,
J'ai un serveur de base de données installé sur mon poste WIndows 10, en PostgreSQL 11, sur lequel j'ai plusieurs bases de données.
Sur la plupart, j'avais activé/créé les extensions postgis et postgis_topology pour utiliser les dimensions spatiales de la BD.
Jusqu'à aujourd'hui aucun souci.
Je me reconnecte aujourd'hui (via PgAdmin 4 version 6.12) et en essayant de créer une nouvelle BD, je m'aperçois que je ne peux plus créer ces 2 extensions :
- via un clic droit sur "Extensions" => elles ne sont plus listées dans le menu déroulant
- via un script sql sur la base => j'ai le message suivant :
-----------------
Citation :
ERREUR : ERREUR: n'a pas pu ouvrir le fichier de contrôle d'extension « C:/Program Files/PostgreSQL/11/share/extension/postgis.control » : No such file or directory
État SQL : 58P01
-----------------
En allant vérifier dans le répertoire de mon installation, en effet je n'ai plus ces extensions dans le dossier mentionné !
En sachant que je n'ai rien fait de particulier sur mon poste depuis septembre où cela fonctionnait !
Et du coup toutes mes autres bases de données sont inexploitables puisque les tables avec géométries précédemment importées ne se retrouvent plus gérées par manque de l'extension !
J'ai un peu fouillé sur Internet mais je ne trouve rien qui réponde à cette problématique (j'ai essayé de couper mon antivirus et mon pare-feu mais rien ne change).
Auriez-vous déjà rencontré ce genre de souci ?
Dois-je réinstaller un PostgreSQL ? Auquel cas je vais perdre toutes mes bases actuelles ?
Merci pour vos retours éclairés !
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=356076#p356076
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : Lison94
----------------------------------------
Bonjour à tous,
Je souhaite importer dans ma BDD postgis, un tableau Excel. Pour cela je l'ai enregistré en csv dans un fichier où j'ai ouvert les autorisation à "Tout le monde". Ensuite, via pgadmin, j'ai créé une nouvelle table et j'utilise l'outil import csv.
Seulement cela ne fonctionne pas j'obtiens un exit code 1 et je ne comprends pas pourquoi..
Auriez-vous des explications à mon problème ?
Merci par avance :)
Lison
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=342491#p342491
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : Aurel1733
----------------------------------------
Bonjour,
Travaillant sous Postgres 14, je n'arrive pas à installer l'extension Python:
CREATE EXTENSION plpython3u;
résultat:
ERREUR : ERREUR: n'a pas pu charger la bibliothèque « C:/Program Files/PostgreSQL/14/lib/plpython3.dll » : The specified module could not be found.
Pourtant le fichier plpython3.dll est bien présent dans le dossier.
Je ne comprends pas.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=356198#p356198
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : image95
----------------------------------------
Bonjour,
Je travaille avec Postgresql 13, Postgis et qgis.
J'importe des fichiers shapefile dans des tables au sein d'une base de données unique, dans différents schemas. Lors de chaque import de shp, une nouvelle table est générée : chaque fichier shp importé génère une nouvelle création de table. On peut dire que c'est l'approche d'import la plus simple qu'on pourrait appeler, import "entrepot de données".
A partir de c'est tables, j'aimerais créer des vues afin de restructurer la donnée, filtrer les champs utiles. Dans un but de mettre à disposition ces vues aux utilisateurs via qgis.
Pour valider cette stratégie, il y a un point dur à résoudre. C'est que in fine je souhaite que les utilisateurs, sous qgis, voient uniquement les vues. Je ne souhaite PAS qu'ils voient les tables.
Sauriez vous si il est possible, au sein d'une même BDD, au sein de plusieurs schemas, de rendre par defaut visible les vues aux utilisateurs. Et de rendre les tables NON visibles ?
Un grand merci pour votre aide.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=351780#p351780
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : guibouvier
----------------------------------------
Bonjour
j'ai beau avoir parcouru le tutoriel postgresql, je n'arrive pas à mes fins pour ma requete SQL.
J'ai une table dans laquelle j'ai 15000 dossiers d'urbanisme répartis sur une trentaine de communes.
Je cherche à compter le nombre de dossiers par commune et par type de dossier.
J'ai donc lancé cette requete (qui fonctionne):
-----------------
Code :
select count (id_dossier), dossiernumtypeentiteappcode ,communeinseecode
from dossier d
where dossierdatedepot > '2023-01-01' and dossierdatedepot < '2024-01-01'
group by communeinseecode, dossiernumtypeentiteappcode
order by communeinseecode, dossiernumtypeentiteappcode
-----------------
J'obtiens ce type de résultats
1 CU 07009
14 DP 07009
3 PC 07009
12 CU 07015
6 DP 07015
1 PA 07015
5 PC 07015
2 CU 07051
6 DP 07051
8 CU 07084
9 DP 07084
Je cherche à obtenir les mêmes informations mais en colonne (type de dossier) avec une ligne par commune
c'est à dire
Code insee Commune / PC / CU / DP
07009 / 3 / 1 / 14
Est ce réalisable ? si oui comment ? peut on mettre plusieurs COUNT dans le SELECT ?
Sur certains forums, on parle de faire plusieurs requetes avec des UNION. J'ai testé mais ça ne permet pas d'obtenir par commune, le nombre de dossiers pour chaque type de dossier.
Merci d'avance pour votre aide
Gui
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=360096#p360096
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : emmamillefeuille
----------------------------------------
Bonjour,
Je me permets de réanimer ce sujet car je suis dans un cas similaire : je souhaite moi aussi obtenir la longueur d'un réseau (cours d'eau) par communes et la fonction que j'utilise est la même que celle plus haut avec
-----------------
Code :
sum(st_length(st_intersection(a.geom,b.geom)))
-----------------
et elle fonctionne très bien pour les cours d'eau qui "entrent" une fois par communes et la traversent par exemple.
Néanmoins, certains cours d'eau en bordure de communes longent la limite, entrant et sortant plusieurs fois de chaque communes (en zigzag) et là la longueur est nulle.
Auriez-vous une idée ? Je sais que la géométrie "en morceau" de la ligne sera discutable, mais j'aimerais bien obtenir la longueur par communes malgré tout.
Merci à tous
Emma
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=360115#p360115
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : emmamillefeuille
----------------------------------------
Bonjour,
J'utilise DBeaver pour mon traitement de BDD et je tombe aujourd'hui sur cette erreur lorsque j'utilise l'aggrégation GROUP BY. Je crois comprendre que c'est parce que j'appelle des colonnes dans select que je ne rappelle pas dans mon group by.
Néanmoins j'utilisais jusqu'ici le gestionnaire de données de QGIS et je n'ai jamais eu ce soucis avant. Mais je travaillais sur des couches virtuelles, je suis là sur une base PostgreSQL, je ne sais pas si ça change quelque chose.
-----------------
Code :
with actions_sysma_2022 as (select o.sysma_object_type as "type_objet", a.sysma_action_type as "type_action",
count(distinct actions.sysma_action_id) as "nb_actions",
sum((case when ST_GeometryType(actions.geom) = 'ST_LineString' then ST_Length(actions.geom)/1000 when ST_GeometryType(actions.geom) = 'ST_Polygon' then ST_area (actions.geom)/10000 else null end)) as "emprise",
case when ST_GeometryType(actions.geom) = 'ST_LineString' then 'km_lineaire' when ST_GeometryType(actions.geom) = 'ST_Polygon' then 'ha_surface' else null end as "unites",
actions.program_year ,actions.status,actions.geom
from eau_brut.sysma_actions actions
left join eau_brut.sysma_object_type o on actions.obj_sysma_object_type_id = o.sysma_object_type_id
left join eau_brut.sysma_action_type a on actions.sysma_action_type_id = a.sysma_action_type_id
where group_alias = 'travaux' and actions.program_year = 2022 and actions.status = 'termine'),
actions_sage as (select sage.codenatzone,sage.nomzone,actions_sysma_2022.*,st_intersection(actions_sysma_2022.geom,sage.geom)geom
from actions_sysma_2022,eau_referentiel.sandre_sage as sage
where sage.codenatzone IN ('SAGE04015', 'SAGE04032', 'SAGE04033', 'SAGE03005', 'SAGE04008') and st_intersects (actions_sysma_2022.geom,sage.geom))
select *
from actions_sage
-----------------
A ce code, il me répond que je dois ajouter la colonne o.sysma_object_type alors que je ne fais même pas de group by dans le premier select et si j'ajoute soigneusement toutes les colonnes de la ligne 1 dans un group by sur la ligne 10,alors i y a un affichage mais les colonnes sont indiquées d'un point orange "pas de correspondance"... Bref je suis un peu perdue et je n'obtiens pas ce que je cherche.
J'aimerais bien à terme, faire mon group by sur le dernier (3") select. mais déjà faire fonctionner les deux premiers ;)
Est-ce que quelqu'un peut m'expliquer les subtilités de GROUP BY ?
Merci d'avance à tous
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=359944#p359944
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : image95
----------------------------------------
Bonjour,
Je souhaite trouver un moyen de déplacer 100 tables d'un schema 'A' vers un schema 'B'. Non seulement les données. Mais également les index, les clef primaires, contraintes (en quelque sorte INCLUDING ALL). Sauf erreur de ma part, ce bout de code permettrait de déplacer les données en tant que tel. Mais comment faire pour déplacer également les index, contraintes, clef primaire...
-----------------
Code :
DO
$$
DECLARE
row record;
BEGIN
FOR row IN SELECT tablename FROM pg_tables WHERE schemaname = 'A' -- and other conditions, if needed
LOOP
EXECUTE format('ALTER TABLE A.%I SET SCHEMA ;', row.tablename);
END LOOP;
END;
$$;
-----------------
Merci.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=358795#p358795
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : StéN (stephanie.niogret(a)megeve.fr)
----------------------------------------
Bonjour,
Je tente de générer une fonction puis le trigger qui fait appel à la fonction pour redimensionner une image avant l'intégration dans table postgres (version 11 pour le moment, très prochainement en V13). Le but est de gérer tout au même endroit. Ces photos sont associées à des objets géographiques, et intégrées en base à partir d'un formulaire d'une application SIG
En cherchant sur le net, il est souvent indiqué d'utiliser l'extention python pour parvenir à mes fins.. mais je suis bloqué. Si certains ont des idées, je suis preneur...
Voici ce que j'ai tenté, sans succès pour le moment :
CREATE OR REPLACE FUNCTION resize_image(image bytea)
RETURNS bytea AS $$
from PIL import Image
import io
max_size = 900
im = Image.open(io.BytesIO(image))
width, height = im.size
if width > height:
new_width = min(max_size, width)
new_height = int(new_width * height / width)
else:
new_height = min(max_size, height)
new_width = int(new_height * width / height)
im = im.resize((new_width, new_height))
output = io.BytesIO()
im.save(output, format='JPEG')
return output.getvalue()
$$ LANGUAGE plpython3u;
CREATE TRIGGER resize_media
BEFORE INSERT ON media_cameras
FOR EACH ROW
EXECUTE FUNCTION medias.resize_media(NEW.media, 900);
Ce n'est peut-être pas la bonne méthode, si vous en avez une autre qui fonctionne, je prends.
Je vous remercie par avance de votre aide.
Sté
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=359912#p359912
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : Sylvain M.
----------------------------------------
Bonjour Maylis,
-----------------
Citation :
pour avoir seulement les bâtiments qui sont sur le RFP ?
-----------------
J'ai personnellement du voir les bâtiments que vous souhaitez et ceux que vous ne souhaitez pas : vous pourriez peut-être faire un petit dessin pour illustrer ceux qui sortent avec ST_Intersect que vous ne voulez pas ?
Sinon, les fonctions de relations spatiales sont illustrées ici :
http://postgis.net/workshops/postgis-intro/spatial_relationships.html
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=359847#p359847
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net