Mon truncate et mon "drop table" sont bloqués

Initialiser un cluster, gérer les accès, modifier les paramètres par défaut, interroger le catalogue avec psql ou pgAdmin, déplacer les données avec pgdump etc.
Répondre
Phil
Administrateur du site
Messages : 303
Enregistré le : mar. 1 sept. 2015 00:38
Localisation : France
Contact :

Mon truncate et mon "drop table" sont bloqués

Message par Phil »

Merci à André pour sa question :

"J'ai un truncate bloqué sur ma base de test lorsque je le lance avec DBeaver. C'est pareil lorsque j'essaye de supprimer la table avec drop table."


Réponse :

La gestion transactionnelle de PostgreSQL est très complète et très fiable. Le moteur pose un verrou de type "access share" sur la table lors d'un select. Tu peux utiliser "truncate" ou "drop table" dans ta session, sans risquer de perturber le travail effectué dans d'autres sessions , cf https://pgphil.ovh/truncate_96_05.php
Ici, DBeaver est probablement configuré sans auto-commit et il est vraisemblable que tu te bloques toi-même. Il faut configurer la connexion en auto-commit ou, mieux, en auto-commit & "smart commit". C'est expliqué ici par exemple : https://github.com/dbeaver/dbeaver/wiki ... mmit-Modes
Cdlt. Phil - pgphil.ovh
Répondre