Development #32337
suppression de schéma épuise la mémoire partagée
Début:
15 avril 2019
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Non
Planning:
Non
Description
Sur les gros tenants la commande de suppression de schéma échoue avec "OperationalError: ERREUR: mémoire partagée épuisée / out of shared memory". À moins d'augmenter de façon démesurée le paramètre max_locks_per_transaction, une solution est de supprimer les tables dans des transactions séparées. Cela ne peut se faire dans une procédure plpgsql. Le patch suivant récupère la liste des tables avant de les supprimer. Je l'ai testé avec les données d'un w.c.s. de 500Mo qui échouait.
Fichiers
Demandes liées
Historique
Mis à jour par Christophe Siraut il y a environ 5 ans
- Lié à Bug #20190: prod BiJoe: erreurs de Postgres ajouté
Mis à jour par Benjamin Dauvergne il y a environ 5 ans
- Statut changé de Solution proposée à Solution validée
Ack, mais je pensais qu'on l'avait déjà fait...
Mis à jour par Christophe Siraut il y a environ 5 ans
- Statut changé de Solution validée à Solution déployée
commit 0ef61ec6944c100b075a43ec42250145bcd6897e (HEAD -> master, origin/master, origin/HEAD) Author: Christophe Siraut <csiraut@entrouvert.com> Date: Mon Apr 15 16:30:45 2019 +0200 drop tables sequencially to avoid max_locks_per_transaction (#20190)
Mis à jour par Christophe Siraut il y a environ 5 ans
- Statut changé de Solution déployée à Résolu (à déployer)
Mis à jour par Christophe Siraut il y a presque 5 ans
- Statut changé de Résolu (à déployer) à Solution déployée