Message posté par : Bastiendu33
----------------------------------------
Bonjour à tous,
Je suis confronté à un problème je n'arrive pas à affiner les droits de Postgres à QGIS.
Par exemple je n'arrive pas à dire à un utilisateur de pouvoir uniquement select et insert. Dans QGIS j'ai constamment les 4 privilèges (select, insert, update, delete) qui sont présent alors qu'au niveau des droits de la table j'ai uniquement coché SELECT.
Merci de vos réponses.
Bien cordialement
Bastien
----------------------------------------
Ce message est accompagné de fichiers, pour les télécharger, suivre le lien ci-dessous.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=353101#p353101
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 : user2022 (r.gasnet(a)alise-geomatique.fr)
----------------------------------------
Bonjour à toutes et tous,
Voici ma situation : mon ancien pc est mort. J'ai pu récupérer les disques C: et D: mais je n'ai pas récupéré mes bases de données. J'utilisais PgAdmin4 et PosgreSQL dans la version 10.
De ce que j'ai vu sur internet, pour migrer une base d'un pc à l'autre, il faut créer un fichier de backup que l'on importe sur la nouvelle machine.
Le problème c'est que le crash de mon pc n'a pas pu être anticipé et je n'ai pas pu créer de fichiers de backup.
Ma question est donc la suivante : y a-t-il un moyen de récupérer mes bases et partant de la sauvegarde de mon disque dur C: ?
J'ai un fichier pgadmin4.db, peut-être qu'il contient mes anciennes bases ?
Mes connaissances en terme d'archivage de bdd sont assez limitées comme vous l'aurez compris.
Je vous remercie pour votre aide, Bonne journée
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=353020#p353020
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 : Léandre Béron
----------------------------------------
Bonjour,
Après passage de données de DEV vers PROD via un FME, j'aimerais inclure après exécution une commande SQL pour commenter chacune des tables intégrées avec "Donnée intégrée le DATE_DU_JOUR via le script REPERTOIRE" afin d'assurer le bon suivi en cas de nécessité.
Mes tests :
Test 1 : COMMENT ON TABLE SCHEMA.TABLE IS 'Donnée intégrée le' + SELECT(current_date) + 'via : REPERTOIRE';
--> Erreur de syntaxe au niveau des +
Test 2 : COMMENT ON TABLE SCHEMA.TABLE IS 'Donnée intégrée le' + (SELECT(current_date)) + 'via : REPERTOIRE';
--> Erreur de syntaxe au niveau des +
Test 3 : COMMENT ON TABLE SCHEMA.TABLE IS 'Donnée intégrée le current_date via : scripts_fme\bloc\00_Topo\topo_00_topo.fmw';
--> ça écrit bien entendu en dur le "current_date"..
Auriez-vous une idée ?
Cordialement,
Léandre Béron
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=352826#p352826
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 : bcxav631 (xcledat63(a)gmail.com)
----------------------------------------
Bonjour à tous,
Je voudrais mettre à jour une table dans une base de données postgreSQL.
J'ai donc une table A avec la géométrie correcte et une table B avec la géométrie incorrect.
J'ai un ID commun entre ces deux tables pour la même géométrie.
Je cherche à mettre à jour la table B avec la géométrie de la table A ?
Je vous montre mon exemple de requête mais cela ne fonctionne pas.
UPDATE Table_B
SET Table_B."geom" = Table_A"geom"
FROM Table_A
where Table_B."id" = Table_A.""id"
and Table_B."id" = 'xxxxxxxxxxx'
Merci de votre aide,
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=352859#p352859
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 : Kiecane
----------------------------------------
Bonjour,
Je suis assez novice en langage Postgre/SQL et j'aurais besoin de votre aide. J'essaye d'écrire un script pour imposer des contraintes sur les valeurs des champs d'une table qui seront saisies par l'utilisateur dans l'application qui découlera de la base de données que je suis en train de constituer. J'ai une table capture_piege qui étudie les captures d'espèces d'intérêt dans des pièges. J'ai créé les champs suivants dans mon type-entité : pk_suivi (associé à un jour de suivi d'un piège localisé à un emplacement précis), date_suivi, animal_capture (TRUE lorsqu'un ou plusieurs animaux sont capturés dans le piège), nb_ind (nombre d'individu lorsqu'une capture a eu lieu), id_espece_interet (identifiant de l'espèce capturée SI elle correspond à une des espèces recherchées (numéro TAXREF A, B, C ou D) ; NULL sinon ***), photo, animal_vivant (TRUE si l'animal capturé est vivant au moment de relever le piège)
*** la table capture_piege est reliée à une autre table num_espece qui liste les numéros TAXREF de toutes les espèces et leur libellé (nom de l'espèce) associé. Parmi toutes ces espèces, seules 4 d'entre elles (A, B, C et D) correspondent aux espèces d'intérêt que l'on souhaite capturer avec ce piège. La table capture_piege a donc comme clé étrangère fk_num_espece associée à la table num_espece (cardinalités 1,1 et 0,n).
On a id_espece_interet qui ne correspond pas au numéro TAXREF, c'est un identifiant au format : espèce_AAAA_n° avec :
- les trois première lettres du libelle de l'espèce de la table num_espece
- suivi de l'année de capture dans le piège
- suivi d'un numéro qui correspond à la nème capture de cette espèce dans l'année (par exemple, il est égal à 3 si c'est le 3e individu de cette espèce que l'on capture cette année-là)
Il faudrait donc aussi que je trouve comment créer automatiquement ce numéro mais j'avoue que je ne sais pas trop comment faire pour le moment. Je ne sais pas non plus si je dois le faire dans mon déclencheur ou à un autre endroit. Qu'en pensez-vous ?
Voici le déclencheur que j'ai écrit pour le moment :
CREATE FUNCTION capture_tri() RETURNS TRIGGER AS $BODY$
DECLARE
capture BOOL;
BEGIN
SELECT animal_capture INTO capture FROM capture_piege WHERE pk_suivi=NEW.pk_suivi;
IF capture IS FALSE
THEN (nb_ind='0' AND id_espece_interet='0' AND photo='0' AND animal_vivant='0')
IF capture IS TRUE AND (fk_num_espece!='A' OR fk_num_espece!='B' OR fk_num_espece!='C' OR fk_num_espece!='D')
THEN nb_ind>0 AND (id_espece_interet IS NULL)
END IF;
END ;
$BODY$ LANGUAGE 'plpsql'
CREATE TRIGGER capture_tri AFTER INSERT OR UPDATE ON animal_capture
FOR EACH ROW EXECUTE PROCEDURE capture_tri();
Pour écrire ça je me suis inspirée de ce que j'ai trouvé sur internet et dans des livres mais je ne suis pas sûre que cela fonctionne, et comme je n'ai pas encore les données pour constituer ma base de données, je ne peux pas le vérifier pour l'instant. Pourriez-vous m'indiquer si cela vous paraît correct s'il-vous-plaît ?
Merci d'avance à tous ceux qui voudront bien m'aider:) !
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=352756#p352756
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 : barthsdee
----------------------------------------
Bonjour,
Je suis un débutant POSTGRE et je coince sur une jointure de table:
J'ai une table A incluant 3 colonnes
- Source1
- Source2
- Source3
Les valeurs de ces trois colonnes font référence à une autre table b à deux colonnes
- idsource
- libsource
Si je tente
From a
Left join b on a.source1=b.idsource
Je peux dès lors rapatrier l'information libsource dans ma base initiale
Mais je ne peux pas appliquer la même méthode pour les colonnes Source 2 ET 3.
Je dois peut être utilisé autre chose comme opérateur?
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=352587#p352587
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 : m_mclr (mauclair.margaux(a)gmail.com)
----------------------------------------
Bonjour à tous,
Je débute avec les triggers et j'ai du mal a comprendre la mise en forme de la requête...
J'ai deux tables, une de ponctuels relative à des places et une de polygone relative à des quartiers
J'aimerai pouvoir mettre à jour (lors de la création d'une place) le nom du quartier dans lequel elle se trouve
Dans ma table "place" j'ai le champ "id_quartier" qui est lié par une relation Fk à ma table "quartier" et ainsi je peux récupérer le "nom_quartier"
J'ai essayé le trigger suivant , mais malheureusement je n'obtiens pas le résultat escompté..
-----------------
Code :
CREATE OR REPLACE FUNCTION set_quartier()
RETURNS trigger AS
$BODY$
DECLARE
BEGIN
IF TG_OP = 'INSERT' OR TG_OP = 'UPDATE'
THEN UPDATE place
SET id_quartier = quartier.id_quartier
FROM quartier WHERE st_contains(quartier.geom, NEW.geom);
END IF;
return NEW;
END;
$BODY$
LANGUAGE plpgsql;
CREATE OR REPLACE TRIGGER set_quartier_trig
AFTER INSERT OR UPDATE
ON place
FOR EACH ROW
EXECUTE PROCEDURE set_quartier();
-----------------
Merci d'avance! :) Margaux
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=352550#p352550
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.
Je suis à la recherche d'un outil qui me permettrait de personnaliser l'import de fichiers shapefile au sein de tables DEJA existantes.
Le fichier source et la table cible ont des structures de champ différentes. L'idée est donc que l'outil permette de pouvoir sélectionner les colonnes du fichier source à importer dans la table. Et de pouvoir définir au sein de quelles colonnes de la table cible les données seront importées.
Si je ne dis pas de bêtise, les outils ogr2ogr ou encore shp2pgsql permettent l'import de fichiers shp au sein de tables dejà existantes. Mais ils ne permettent pas de personnaliser cet import. On ne peut pas selectionner les champs du fichier source et les champs destination de la table ?
Pour opter pour cette stratégie d'import, me faudrait il donc me diriger vers une solution mobilisant des fonctions SQL (postgresql), python?
Merci bien.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=351782#p351782
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 : Heisenberg77 (franck.dessertine(a)sdesm.fr)
----------------------------------------
Bonjour,
Je me permet de relancer le post, j'ai le même souci avec un export au format gml de tables postGis décrivant le PCRS.
Impossible de forcer mon export avec le standard du CNIG (CNIG_PCRS_v2.0.xsd).
Quelqu'un a-t-il une solution pour moi?
Merci d'avance.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=347710#p347710
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 : sporito
----------------------------------------
Bonjour,
Je souhaiterais mettre en place un trigger qui me permette, au moment de placer un point A parmi pleins de points B, de récupérer la valeur du champ "numero" de ma couche PointsB pour remplir mon champ "numeroB" de ma couche PointsA.
Je souhaiterais que ce trigger soit basé sur la condition du plus proche point B de mon point A.
J'ai essayé ça, mais ça ne fonctionne pas :/
J'ai dc un schéma que l'on appellera "SchemaPoint" avec 2 couches :
PointsA
-numeroB (à remplir)
PointsB
-numero
CREATE OR REPLACE FUNCTION "SchemaPoint".voisins()
RETURNS trigger
LANGUAGE 'plpgsql'
COST 100
VOLATILE NOT LEAKPROOF
AS $BODY$
BEGIN
select into new.numeroB numero, ST_distance(new.geom, PointsB.geom) AS voisin
FROM "SchemaPoint"."PointsA","SchemaPoint"."PointsB"
order by voisin
LIMIT 1;
return new ;
END;
$BODY$;
puis
CREATE TRIGGER update_numero
BEFORE INSERT OR UPDATE
ON "SchemaPoint"."PointsA"
FOR EACH ROW
EXECUTE FUNCTION "SchemaPoint".voisins();
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=352171#p352171
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