Blocage sur une exécution DDL distante
Posté : mar. 17 sept. 2024 16:02
Merci à Guillaume pour sa question :
"J'utilise en PL dynamique postgres_fdw pour importer un schéma distant via IMPORT FOREIGN SCHEMA mais je recrée aussi une vue à distance via l'extension dblink car postgres_fdw ne le permet pas et ça bloque alors que je suis seul à travailler sur la base distante. Pourquoi ?"
Réponse :
dblink ouvre une session distincte de postgres_fdw et, si les deux extensions sont utilisées dans un même programme, l'une peut bloquer l'autre. Un verrou peut être posé par la session postgres_fdw et empêcher dblink de supprimer/recréer la vue. Pour simplifier, il vaut mieux sérier les différentes opérations, bosser avec postgres_fdw, fermer la transaction, bosser avec dblink le temps nécessaire, reprendre avec postgres_fdw etc.
"J'utilise en PL dynamique postgres_fdw pour importer un schéma distant via IMPORT FOREIGN SCHEMA mais je recrée aussi une vue à distance via l'extension dblink car postgres_fdw ne le permet pas et ça bloque alors que je suis seul à travailler sur la base distante. Pourquoi ?"
Réponse :
dblink ouvre une session distincte de postgres_fdw et, si les deux extensions sont utilisées dans un même programme, l'une peut bloquer l'autre. Un verrou peut être posé par la session postgres_fdw et empêcher dblink de supprimer/recréer la vue. Pour simplifier, il vaut mieux sérier les différentes opérations, bosser avec postgres_fdw, fermer la transaction, bosser avec dblink le temps nécessaire, reprendre avec postgres_fdw etc.