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 : 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 : Ricola62
----------------------------------------
Bonjour,
Je souhaite récupérer la date de la dernière maj du flux WFS afin d'avertir l'utilisateur.
https://www.sandre.eaufrance.fr/atlas/srv/fre/catalog.search#/metadata/070d…
Comment faire? il y a bien une solution, il s'agit d'un count du nombre d'entités.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=354420#p354420
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,
Je souhaite importer une couche dans un schema postgis seulement j'utilise dbmanager et ce message d'erreur s'affiche :
Erreur 2
La création de la source de données "environnement et nature"."cours_deau_france" a échoué :
ERROR: AddGeometryColumn() - SRID must be <= 998999
CONTEXT: PL/pgSQL function addgeometrycolumn(character varying,character varying,character varying,character varying,integer,character varying,integer,boolean) line 45 at RAISE
SQL statement "SELECT public.AddGeometryColumn('',$1,$2,$3,$4,$5,$6,$7)"
PL/pgSQL function addgeometrycolumn(character varying,character varying,character varying,integer,character varying,integer,boolean) line 5 at SQL statement
Avez vous une idée du pb ?
Merci par avance,
Lison
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=339318#p339318
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 : philippe_schitter (philippe.schitter(a)gmail.com)
----------------------------------------
Bonjour,
Suite à votre discussion et sur la même logique, je rencontre une erreur que je n'arrive pas à résoudre.
Je travaille dans les télécom et je souhaite diviser une table de câbles "CB" en x tables en fonction des x valeurs uniques du champ "mode_pose".
Après consultation des tutoriels et forums, j'ai rédigé en PL/pgSQL le code copié ci-dessous :
-----------------
Code :
CREATE OR REPLACE FUNCTION split_CB() RETURNS VARCHAR as $$
DECLARE
x VARCHAR;
BEGIN
FOR x IN SELECT DISTINCT CB."mode_pose"
FROM "syane_test"."CB" CB
LOOP
EXECUTE format('
DROP TABLE IF EXISTS syane_test.CB_'||x||';
CREATE TABLE syane_test.CB_'||x||' AS
SELECT *
FROM "syane_test"."CB" CB
WHERE CB."mode_pose" ='||quote_literal(x)||';');
END LOOP;
END;
$$ LANGUAGE plpgsql;
SELECT split_CB();
-----------------
et je me suis heurté à un message d'erreur suivant :
"""
NOTICE: la table « cb_aerien » n'existe pas, poursuite du traitement
CONTEXT: instruction SQL «
DROP TABLE IF EXISTS syane_test.CB_AERIEN;
CREATE TABLE syane_test.CB_AERIEN AS
SELECT *
FROM "syane_test"."CB" CB
WHERE CB."mode_pose" ='AERIEN'; »
fonction PL/pgsql split_cb(), ligne 9 à EXECUTE
NOTICE: la table « cb_immeuble » n'existe pas, poursuite du traitement
CONTEXT: instruction SQL «
DROP TABLE IF EXISTS syane_test.CB_IMMEUBLE;
CREATE TABLE syane_test.CB_IMMEUBLE AS
SELECT *
FROM "syane_test"."CB" CB
WHERE CB."mode_pose" ='IMMEUBLE'; »
fonction PL/pgsql split_cb(), ligne 9 à EXECUTE
NOTICE: la table « cb_souterrain » n'existe pas, poursuite du traitement
CONTEXT: instruction SQL «
DROP TABLE IF EXISTS syane_test.CB_SOUTERRAIN;
CREATE TABLE syane_test.CB_SOUTERRAIN AS
SELECT *
FROM "syane_test"."CB" CB
WHERE CB."mode_pose" ='SOUTERRAIN'; »
fonction PL/pgsql split_cb(), ligne 9 à EXECUTE
ERREUR: le contrôle a atteint la fin de la fonction sans RETURN
CONTEXT: fonction PL/pgsql split_cb()
********** Erreur **********
ERREUR: le contrôle a atteint la fin de la fonction sans RETURN
État SQL :2F005
Contexte : fonction PL/pgsql split_cb()
"""
Pouvez-vous m'aider à résoudre cette erreur ?
Et si oui, dans la foulée, est-il possible d'intégrer aux nouvelles tables, la création en boucle de Contraintes de clé primaire ?
Merci par avance, bien cordialement.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=354464#p354464
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 : Fabrice1234 (fabrice.neubert(a)gmail.com)
----------------------------------------
Bonjour à tous ,
Nouveau utilisateur de PostgreSQL , j'ai un problème lorsque j'exécute des fonctions : je souhaiterais récupérer les données d'une table déjà existante , qui ne comporte qu'une seule ligne , et qui contient tout les paramètres que je veux exploiter en tant que variables au sein de ma fonction .
Lorsque la table contenant les paramètres sera mise à jour , les variables de ma fonction doivent donc être mises à jour également .
Seulement , je n'arrive pas à trouver la syntaxe exacte pour faire appel à ces données : j'ai d'abord essayé d'indiquer uniquement le nom de la colonne dans ma fonction , mais j'obtiens un message d'erreur m'indiquant que la colonne n'est pas reconnue , j'ai essayé ensuite d'utiliser la syntaxe nom_de_table.nom_de_colonne pour reprendre la syntaxe qu'on utilise lorsque l'on fait des jointures entre les tables , mais j'obtiens un message d'erreur m'indiquant qu'il manque une clause "FROM " dans ma fonction .
En dernier recours , j'ai essayé d'utiliser la syntaxe NEW.nom_de_la_colonne , je n'obtiens pas de message d'erreur dans ce cas précis mais le code semble ne pas reconnaitre la valeur de la colonne que je souhaite utiliser puisqu'il fonctionne alors comme si mes paramètres valaient zéro .
Cependant , mon code fonctionne pour des valeurs discrètes ( en rentrant les paramètres manuellement ) .
Ci joint , vous trouverez le code que je souhaite réaliser : le but étant de créer un réseau de table de panneaux photovoltaïques en fonction des différents paramètres du réseau ( dimensions des panneaux , distance inter-rangée , inter-table , nombre de panneaux en longueur , nombre de panneaux en hauteur )
(PS : la table que je souhaite utiliser est défini par : parametrage_table ( id_parametrage_table SERIAL PRIMARY KEY , inter_rang REAL , inter_table REAL , longueur INT , hauteur INT , ht_table REAL ,l_table REAL )
CREATE OR REPLACE FUNCTION generer_tables() RETURNS TRIGGER AS $gt$
DECLARE
line_no int:= 0;
column_no int:= 0;
x real :=0;
y real :=0;
l_table real :=parametrage_table.l_table;
ht_table real :=parametrage_table.ht_table;
increment_x real :=0;
increment_y real :=0;
nom_polygone text :='' ;
hauteur int := parametrage_table.hauteur;
longueur int := parametrage_table.longueur ;
inter_rang real :=parametrage_table.inter_rang ;
inter_table real :=parametrage_table.inter_table ;
BEGIN
DROP TABLE referencement_tables ;
CREATE TABLE referencement_tables(id_table SERIAL primary KEY,geom geometry);
WHILE (line_no< hauteur) loop
WHILE (column_no< longueur) loop
column_no := column_no +1 ;
increment_x :=x+l_table ;
increment_y :=y+ht_table ;
nom_polygone := 'POLYGON'||'(('|| x ||' '|| y ||','||increment_x ||' '|| y ||','||increment_x||' '||increment_y||','||x||' '||increment_y||','||x||' '||y||'))' ;
INSERT INTO referencement_tables(geom)
VALUES(ST_GeometryFromText(nom_polygone));
x:= x+l_table+ inter_table;
nom_polygone :='';
END LOOP;
column_no :=0;
x:=0;
line_no :=line_no+1 ;
y:=y+ht_table+inter_rang;
END LOOP;
return NEW;
END;
$gt$ language plpgsql ;
Merci d'avance , Fabrice
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=354319#p354319
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 : EliseWi
----------------------------------------
Bonjour à tous,
Je travaille actuellement sur une base de données Postgres (en utilisant PgAmin 4). Savez-vous comment je peux rendre un champ non éditable ? J'ai créé des trigger pour que certains champs se remplissent automatiquement quand on crée une entité sur Qgis et j'aimerai que ces champs apparaissent grisés (non remplissables) lorsqu'une personne crée une nouvelle entité sur Qgis.
J'ai testé de décocher l'option 'editable' de ces champs directement dans Qgis mais quand je recharge la couche, cette option est à nouveau cochée.
Merci d'avance pour votre aide :)
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=354191#p354191
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 : Benjamin B
----------------------------------------
Bonjour,
J'ai un petit soucis,
J'ai deux tables, et je souhaiterai que lorsqu'un enregistrement de la première table est complété, il y ai copie vers une deuxième table de l'enregistrement mis à jour.
J'ai fait un trigger en before update for each row
ok j'ai du mal avec les trigger....
mais mon insert into ne passe pas.
Pouvez vous m'aider car je ne vois pas ou cela cloche?
-----------------
Code :
create or replace TRIGGER SIR_ARBRE_V2_ENT_FAIT_UP
after update ON SIR_ARBRE_ENTRETIEN_FUTUR FOR EACH ROW
declare
CODE_ENT NUMBER(10):=0;
O_ID NUMBER(10):=0;
begin
if (:NEW.ID_ARBRE_ALIGNEMENT_GLD <> :OLD.ID_ARBRE_ALIGNEMENT_GLD ) then
select CODE_ENTRETIEN_FUTUR into CODE_ENT from SIR.SIR_ARBRE_ENTRETIEN_FUTUR ;
SELECT max(ID_ARBRE_ENTRETIEN_FAIT)+1 into O_ID from SIR.SIR_ARBRE_ENTRETIEN_FAIT;
insert into SIR_ARBRE_ENTRETIEN_FAIT (ID_ARBRE_ENTRETIEN_FAIT,CODE_ENTRETIEN_FAIT) VALUES (O_ID,CODE_ENT);
insert into SIR_ARBRE_ENTRETIEN_FAIT (ID_ARBRE_ENTRETIEN_FAIT) SELECT max(ID_ARBRE_ENTRETIEN_FAIT)+2 from SIR.SIR_ARBRE_ENTRETIEN_FAIT ;
END if;
END ;
-----------------
Par avance merci pour toute aide, car je tourne en rond et ne voit pas mon erreur.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=354154#p354154
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 : EliseWi (williart.elise(a)gmail.com)
----------------------------------------
Bonjour à tous,
Je travaille actuellement sur une base de données Postgres (en utilisant PgAmin 4). Je m'interroge sur la gestion des connexions simultanées et les modifications d'une même entité par différents utilisateurs en même temps. Je me suis informée sur les différentes solutions tels que les verrous et l'isolation des transactions, ainsi que la solution directe dans les paramètres de Qgis présentée dans ce post https://georezo.net/forum/viewtopic.php?id=126396 (les personnes utilisant la base le faisant principalement directement sur Qgis). Je ne suis pas vraiment sure d'avoir bien compris les principes de verrous et transactions.
Y-a-t'il un moyen de généraliser par exemple le fait que tous les updates soient sérialisables dans une base de données? De ce que j'ai compris, il faut indiquer dans la transaction directement qu'elle est sérialisable. Y a-t'il un moyen de dire que si 2 utilisateurs lancent chacun un update à quelques secondes de suite, alors il faut que le premier update soit finit pour que le deuxième se lance ? Sans qu'ils aient besoin de le spécifier dans une transaction.
Merci d'avance pour vos réponses et n'hésitez pas à me dire si je n'ai pas été claire :)
Bonne journée !
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=353697#p353697
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 : samirovic04 (samire.maghafri24(a)gmail.com)
----------------------------------------
Bonjour à tous,
Dans le cadre de la réalisation de mon projet de stage je dois remonter des données d'un automate à une base de données dans le cloud ( machine virtuelle). du coup pour faire cela je dois passer par un routeur VPN pour interroger la base de données cloud.
AUTOMATE(192.168.1.99)===>(RouteurVPN)(10.0.8.120)===>INTERNET====>(Base de données)100.96.13.34
sur l'automate j'ai mis l'adresse IP de la base de données mais j'ai toujours un message d'erreur : could not connect to server: Connection timed out
Is the server running on host "100.96.13.34" and accepting TCP/IP connections on port 5432? sachant que le port 5432 est ouvert.
Merci de vos réponses
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=353400#p353400
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