Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 07/01/2019 12:24:07
- pitpoule
- Membre
Gestion des locks et des tables héritées
Bonjour,
Comment sont gérés les locks pour une table mère et ses filles (PG 9.6) ?
J'ai une table A (mère) et deux tables filles A1 et A2. j'ai constate que si je lance la création d'un index sur la table A1, il attend un verrou de la table A2.
Merci
Hors ligne
#2 07/01/2019 12:35:37
- gleu
- Administrateur
Re : Gestion des locks et des tables héritées
Avoir la définition des tables pourrait aider à donner une réponse.
Guillaume.
Hors ligne
#3 07/01/2019 12:54:09
- pitpoule
- Membre
Re : Gestion des locks et des tables héritées
Je comprends bien mais je ne souhaite pas vraiment mettre des informations détaillées de schéma sur un forum public...ce que je peux vous donner comme infos qui me paraissent intéressantes
La table mère
CREATE TABLE A (
id bigint,
struct_id int,
....
....
);
Les tables filles
CREATE TABLE A_%s
CHECK (struct_id = %s),
CONSTRAINT my_pkey PRIMARY KEY (struct_id, id)
) INHERITS (A);
La table mère possède un trigger qui permet de créer les tables filles
Les tables files ont un ensemble d'index et leurs propres triggers.
On ne travaille quasiment jamais sur la table mère, tous les traitement sont lancés directement sur les tables filles.
Hors ligne
#4 07/01/2019 15:12:45
- gleu
- Administrateur
Re : Gestion des locks et des tables héritées
Je comprends que vous ne puissiez pas fournir votre schéma original. Dans ce cas, créez un schéma de tests. La question est bien trop vague actuellement pour pouvoir vous répondre simplement.
Avec un simple jeu de tests comme celui-ci :
create table a (id integer);
create table a1 () inherits (a);
create table a2 () inherits (a);
begin;
create index on a1 (id);
Je ne constate aucun verrou sur a2.
La création d'un index nécessite un verrou en écriture sur la table indexée (donc ici a1, en mode ShareLock). Je ne vois aucune raison pour laquelle la commande aurait besoin de verrouiller aussi a2 (ou toute autre table fille).
Guillaume.
Hors ligne
#5 07/01/2019 16:14:22
- pitpoule
- Membre
Re : Gestion des locks et des tables héritées
Je vais essayer de reproduire le phénomène sur un schéma de test... et je reviendrai avec plus de détails.
Merci pour le retour en tout cas !
Hors ligne
Pages : 1