Message posté par : NicolasTau
----------------------------------------
Bonjour,
Je poste cet appel à l'aide car je suis bloqué avec un fichier sql et un nouvel ordinateur, et je n'arrive pas à importer mon fichier dans le pgAdmin tout juste installé.
Avant de changer d'ordinateur, j'avais exporté mes données dans un fichier sql pour pouvoir les réimporter plus tard avec mon nouvel ordinateur.
Maintenant que je l'ai, j'ai installé postgre, pgAdmin et l'extension postgis dont je me servais. J'ai alors essayé de le réimporter mais j'ai le message :
File type not suported"
J'ai pourtant exactement la même version du logiciel... je ne comprend pas bien...
Je vous mets aussi mon fichier sql en pièce jointe (si le fichier n'est pas trop lourd), si jamais il y a un problème avec.
Merci beaucoup,
Bonne journée,
Cordialement,
Nicolas
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=345627#p345627
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 à tous,
Je viens d'installer un serveur PG sur mon PC Windows 10 pour une utilisation locale.
J'ai eu un message d'erreur au moment de la création de la base de données (cluster), que je n'ai malheureusement pas non noté (je pense en lien avec des droits utilisateur), mais j'ai ensuite réussi à créer une base avec
-----------------
Code :
initdb.exe "D:\DATAPG"
-----------------
J'ai ainsi réussi à connecter PgAdmin ou QGis, et créer mes premières bases/schémas/tables :D
Par contre, je rencontre un comportement étrange de l'invite de commande Windows quand je démarre le serveur. Peut-être est-ce normal, mais je ne crois pas que ça faisait cela sur mes précédents PC/instances.
Quand je fais :
-----------------
Code :
pg_ctl start -D "D:\DATAPG"
-----------------
Le serveur démarre bien, et j'ai cette réponse :
-----------------
Code :
U:\>pg_ctl start -D "D:\DATAPG"
en attente du démarrage du serveur....2021-08-27 10:09:19.299 CEST [11512] LOG: démarrage de PostgreSQL 13.4, compiled by Visual C++ build 1914, 64-bit
2021-08-27 10:09:19.308 CEST [11512] LOG: en écoute sur IPv4, adresse « 127.0.0.1 », port 5432
2021-08-27 10:09:19.308 CEST [11512] LOG: en écoute sur IPv6, adresse « ::1 », port 5432
2021-08-27 10:09:19.414 CEST [12836] LOG: le système de bases de données a été arrêté à 2021-08-27 10:09:01 CEST
2021-08-27 10:09:19.626 CEST [11512] LOG: le système de bases de données est prêt pour accepter les connexions
effectué
serveur démarré
-----------------
Mais ensuite, si je tente de fermer l'invite de commande, celle-ci ne se ferme pas et m'affiche ces messages supplémentaires :
-----------------
Code :
U:\>2021-08-27 10:09:22.957 CEST [11512] LOG: processus en tâche de fond « logical replication launcher » (PID 3436) a été arrêté par l'exception 0xC000013A
2021-08-27 10:09:22.957 CEST [11512] ASTUCE : Voir le fichier d'en-tête C « ntstatus.h » pour une description de la valeur
hexadécimale.
2021-08-27 10:09:22.957 CEST [11512] LOG: arrêt des autres processus serveur actifs
2021-08-27 10:09:22.961 CEST [11512] LOG: processus de récupération des statistiques (PID 12876) a été arrêté par l'exception 0xC000013A
2021-08-27 10:09:22.961 CEST [11512] ASTUCE : Voir le fichier d'en-tête C « ntstatus.h » pour une description de la valeur
hexadécimale.
2021-08-27 10:09:22.973 CEST [11512] LOG: tous les processus serveur sont arrêtés ; réinitialisation
2021-08-27 10:09:23.071 CEST [11596] LOG: le système de bases de données a été interrompu ; dernier lancement connu à 2021-08-27 10:09:19 CEST
2021-08-27 10:09:23.750 CEST [11596] LOG: le système de bases de données n'a pas été arrêté proprement ; restauration
automatique en cours
2021-08-27 10:09:23.756 CEST [11596] LOG: longueur invalide de l'enregistrement à 0/21D72A0 : voulait 24, a eu 0
2021-08-27 10:09:23.756 CEST [11596] LOG: la ré-exécution n'est pas nécessaire
2021-08-27 10:09:23.989 CEST [11512] LOG: le système de bases de données est prêt pour accepter les connexions
-----------------
Voyez-vous d'où vient ce comportement ? Normal ?
Je vais creuser pour faire en sorte que le serveur se lance automatiquement au démarrage de Windows : si vous avez une solution simple à me proposer, je veux bien ;)
Merci pour vos conseils !
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=345871#p345871
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 : neskuik01
----------------------------------------
Bonjour,
Est-ce-qu'il est possible d'utiliser des variables dans un script sql ? en gros utiliser des variables pour le nom des tables ? Je sais que sur pgsl il suffit de mettre SET nom variable = valeur variable. Mais dans postgresql ?
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=345844#p345844
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 : Nicolas Vaginay
----------------------------------------
Bonjour,
Merci pour ces réponses!
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=345843#p345843
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 : neskuik01
----------------------------------------
Bonjour,
J'ai réalisé une requête pour joindre l'identifiant du tronçon hydro le plus proche de mes points et sa distance sous Postgis :
-----------------
Code :
CREATE TABLE polluant.JoinHydroPkTopt as
select
p.pk,
t.id as troncon,
t.dist
from reference."parcelle" p
cross join lateral (
select r.id as id, p.geom <-> r.the_geom as dist
from polluant."hydro" r
order by p.geom <-> r.the_geom
limit 1
) as t;
-----------------
la requête fonctionne mais prend une plombe comparativement à l'outil de jointure par proximité d'arcgis donc je présume qu'elle peut être améliorée.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=345808#p345808
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 : Nicolas Vaginay
----------------------------------------
Bonjour,
Je cherche à mettre en place une contrainte de vérification pour m'assurer que pour une ligne donnée, une valeur n'apparaisse qu'une seule fois dans un ensemble de colonnes. Est-ce que quelqu'un saurait faire ça?
Dans l'exemple ci-dessous, cela consiste à vérifier quand on saisit TOTO que cette valeur n'est pas présente dans les autres colonnes "rangsXX"
id rang01 rang02 rang03 rang04 ... rang35
1 TOTO TATA TUTU TETE TITI
Merci pour votre aide
Nicolas
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=345732#p345732
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 : Hippo (jerome.hippolyte(a)yahoo.fr)
----------------------------------------
Bonjour,
Je dispose de 2 tables dans PostgreSQL.
L'une correspond à une liste de communes avec leur superficie en km², la seconde table quant à elle, liste un certain nombre d'unités surfaciques avec des surfaces également en km².
Je voudrais pouvoir diviser la superficie de chaque commune, en fonction des différentes surfaces présentes dans ma seconde table.
En somme cela reviendrait à dire, combien la commune 1 peut contenir d'unité 1 ? d'unité 2 ? ... ? Combien la commune 2 peut contenir d'unité 1 ? d'unité 2 ? ... ?
Mes données étant stockées dans PostGreSQL, je me demandais donc s'il était possible de réaliser un tel traitement en SQL ?
Je ne connais malheureusement SQL que dans les grandes lignes et il me semble a priori compliqué (voir impossible) de créer une boucle qui viendrait boucler sur mes 2 tables et effectuer ces calculs.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=345618#p345618
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,
J'ai une table postgis polygones pour mes "communes".
J'ai une table ponctuelle pour mes "forages".
J'ai créé une vue matérialisée "vm" définit par une jointure spatiale comme suit :
-----------------
Code :
SELECT forages.*,
commune.gid,
commune.insee_com,
commune.nom
FROM forages, commune
WHERE st_intersects(pylone.geom, commune.geom);
-----------------
Maintenant je souhaite que dès qu'une modification a lieu pour le champ "nom" de ma table de polygones "communes",
cette modification se produise également dans le champ "nom" de ma vue matérialisée.
Sauf erreur de ma part,
le trigger doit etre définit sur la table "communes" comme suit
-----------------
Code :
CREATE TRIGGER communes_trigger
after update
on commune
FOR EACH STATEMENT.
execute procedure trigger_fonction
-----------------
Il me faut maintenant définir la fonction. C'est pour cette étape que j'ai besoin de vous, si vous le voulez bien.
Ci dessous, une proposition de structure. Mais il manque beaucoup de choses.
-----------------
Code :
CREATE or replace FUNCTION bdd_forages_trigger_fonction
returns trigger
langage sql
AS $$
BEGIN
if then
update
end if ;
return new
refresh materialized view
END;
$$
-----------------
Merci beaucoup.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=345561#p345561
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 : SGREF
----------------------------------------
Bonjour,
En PgSQL, j'aimerai faire appel à plusieurs séquences pour générer un ID.
Quand je dis "plusieurs" je ne sais même pas si cela est possible, je m'explique :
Il s'agit d'une table, contenant des polyognes, utilisée sur QGIS, où il y a continuellement de nouvelles entités.
J'ai besoin de générer une ID automatique qui diffère selon le département où se trouve le nouveau polygone, et qui comprendrait donc le code_insee du département. Concrètement je pensais créer une séquence par département nommée "codeinseedepartement_seq" et aller chercher la "nextval" de la séquence correspondante en récupérant le code insee du département de la nouvelle entité par st_intersects. Le tout dans une trigger function :
-----------------
Code :
BEGIN
UPDATE projet.test_zone zp set ID = nextval(s2.nom_sequence)
FROM
(SELECT
s1.gid,
concat('projet.',s1.code_insee_dep, '_seq') AS nom_sequence
FROM (SELECT
t1.gid,
t2.code_insee_dep
FROM projet.test_zone as t1
INNER JOIN limite.departement as t2
ON ST_Intersects(t1.geom,t2.geom)
)s1
)s2
WHERE zp.gid = NEW.gid;
RETURN NEW;
END;
-----------------
Mais visiblement ça ne fonctionne pas.
Etant complétement novice en pgsql, je me dis que je suis potentiellement complétement à côté de la plaque, j'en appelle donc à votre aide/imagination.
Merci d'avance pour vos réponses.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=345528#p345528
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 : Demonshine
----------------------------------------
Bonjour,
Lors de la mise à jour ou insertion d'un élément dans un table "nom" de type ponctuel, je souhaite récupérer certaines informations de la table "zone" de type polygone à l'intérieur de laquelle chaque point est contenu. J'ai donc essayé de mettre en place un trigger entre ces deux tables en utilisant "st_within" pour faire le lien entre les deux tables. Le problème est que mon trigger ne marche pas, soit il me remplit toutes mes lignes dans ma table "nom" avec les valeurs de la colonne spécifiée, alors que je veux que ce soit juste la ligne modifiée ou créée qui soit remplie. Ou bien si dans ma condition IF je met "TG_OP="update" j'ai une boucle infinie. J'ai essayé d'utiliser la variable new mais j'obtiens une erreur comme quoi la variable new n'existe pas. Voici mon code :
-----------------
Code :
CREATE OR REPLACE FUNCTION maj_nom()
RETURNS trigger AS
$BODY$
DECLARE
BEGIN
IF /*TG_OP = 'UPDATE' or */ TG_OP='INSERT' THEN
raise notice 'update_insert';
/* MAJ de la table "nom" : sur la colonne graphie. J'attribue la valeur toponyme de la table "zone"
sur la colonne nature, j'attribue la valeur nature de la table "zone"
sur la colonne cleabs, j'attribue la valeur cleabs de la table "zone"
*/
UPDATE set graphie = toponyme,
nature=zone.nature,
cleabs=zone.cleabs
/* Je récupère la table "zone" car je l'utilise au dessus */
FROM zone
/* Je cherche la zone qui contient le toponyme dans la table : "nom" */
WHERE st_within(NEW.geom, zone.geom);
END IF;
return NEW;
END;
$BODY$
LANGUAGE plpgsql;
CREATE TRIGGER trigger_maj_nom
AFTER INSERT OR UPDATE
ON nom
FOR EACH ROW
EXECUTE PROCEDURE maj_nom();
-----------------
Merci d'avance pour votre aide,
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=345270#p345270
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