banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Thu 29 March 2018 11:32

John85
Participant occasionnel
Date d'inscription: 30 Jun 2017
Messages: 11

[Postgres] Problème triggers sur tables distante( POSTGRES-FDW-ORACLE)

Bonjour,

Je travaille sur PostgreSQL 10.2 - Postgis 2.4

J'ai une BDD dans laquelle je récupère des tables distantes (sans géométrie) d'une base oracle à l'aide d'un Foreign Data Wrapper
Je peux ouvrir la table et requêter dessus sans problème.

Mon problème intervient lorsque je créer des triggers pour mettre à jour une table locale.
Un message d'erreur (pas de correspondance pour l'utilisateur "utilisateur"). J'ai essayé en changeant le propriétaire de la table distante de "postgres" à "utilisateur" et là le trigger ne renvoie plus de message d'erreur mais par contre ne fait pas les mises à jour qu'il devrait faire.

Avez-vous déja rencontré ce problème?
Il y a peut-être des subtilités dans la création des tables distantes (options...?)?

Pour le moment je créer des vues de mes tables distantes et je réalise mes triggers sur ces vues, mais j'ai parfois le même problème de trigger qui ne renvoi pas de messages d'erreur mais qui ne met rien à jour...

En créant une table locale avec une insertion des données de la table distante, mes triggers fonctionnent parfaitement...

Je ne sais pas si mes explications sont assez claires?

Merci de votre aide

Hors ligne

 

#2 Fri 06 April 2018 15:24

John85
Participant occasionnel
Date d'inscription: 30 Jun 2017
Messages: 11

Re: [Postgres] Problème triggers sur tables distante( POSTGRES-FDW-ORACLE)

Bonjour,

j'ai résolu mon problème.

Le soucis venait du typage des champs.

Je le déclare donc en variable le type exact des champs de mes tables distantes sur lesquelles je récupère mes données.

DECLARE
v_adhesion_simple numeric;
v_adhesion_service numeric;
v_responsable character varying (201);


Et j'ai redéfini le type de certains champs de ma table à mettre à jour (character > character varying)

Du coup, je récupère les données dans mes tables distantes via mes triggers et je met à jour mes tables locales.

Cordialement

Hors ligne

 

Pied de page des forums

Powered by FluxBB