PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 16/04/2020 16:35:42

Impossible d'ajouter des lignes dans une table via View/Edit data

Bonjour,

Je suis en PostgreSQL V10 / pgAdmin4 V2.1.
J'ai créé une table Test_tri de 1 colonne appelée NomCol.
J'ai voulu sous pgadmin - View/Edit data entrer quelques lignes à la main mais impossible.
Dans un premier temps, la ligne vide permettant la saisie ne s'affichait pas. J'ai fini par trouver que sans OID incluse ou de clé primaire unique sur la table, point de salut (saisie non supportée par pgAdmin4) !. J'ai donc ajouté une clé primaire sur NomCol.
Maintenant, je peux saisir des données mais impossible de les enregistrer avec le bouton Save de la barre de fonctions.
Message : 
ERREUR:  la valeur d'une clé dupliquée rompt la contrainte unique « Test_tri_pkey »
DETAIL:  La clé « ("NomCol")=(jardin) » existe déjà.

Or je saisis le mot jardin dans ma table qui est vide.

Je n'ai aucun souci d'insertion de ligne via un INSERT exécuté sous pgAdmin4.
Après insertion de lignes via INSERT, pgAdmin4 me permet bien via View/Edit data de modifier les données insérées et de les enregistrer via le bouton Save, sans aucun problème.
Je ne peux par contre là encore pas ajouter de nouvelle ligne.

Ma table ne me semble pas présenter d'anomalie dans sa définition :
CREATE TABLE ux."Test_tri"
(
    "NomCol" character varying(10) COLLATE pg_catalog."default" NOT NULL,
    CONSTRAINT "Test_tri_pkey" PRIMARY KEY ("NomCol")
        USING INDEX TABLESPACE "CAIDB_PostgreSQL"
)
WITH (
    OIDS = FALSE
)
TABLESPACE "CAIDB_PostgreSQL";

Erreur de ma part ou souci de l'IHM de pgAdmin4 V2.1  pour l'insertion de lignes dans une table ?

Merci d'avance pour votre aide.

PS : je ne connais pas ce problème sur le pgAdmin4 V4.18 que j'ai sur mon PostgreSQL 12. J'ai aussi un bouton en plus "Save data changes" dans cette version...

Hors ligne

#2 16/04/2020 16:52:37

rjuju
Administrateur

Re : Impossible d'ajouter des lignes dans une table via View/Edit data

À priori le message d'erreur est généré par postgres, pas par pgAdmin.  Peut-être un soucis de synchronisation de la grille essayez d'actualiser et/ou de redémarrer pgAdmin sait-on jamais.  Vous pouvez sinon vérifier avec l'éditeur de requête que la ligne n'est pas présentes dans la table, ou que la grille n'aurait pas mémorisée une précédente tentative de saisie qui se retrouverait automatiquement ajoutée.

Hors ligne

#3 16/04/2020 17:34:22

Re : Impossible d'ajouter des lignes dans une table via View/Edit data

Merci pour la rapidité de la réponse.
J'avais déjà essayé tout cela avant même d'appeler à l'aide :
- redémarrages de pgAdmin,
- refresh de table
- purge des éventuels View/Edit data restés ouverts en parallèle
- relecture de la table pour vérifier l'absence de la ligne, par Query Tool
- ...

Pour l'instant, rien n'y fait.

J'ai ajouté une colonne dans la table pour m'assurer que le défaut ne provenait pas de la table à colonne unique. Nouvelle surprise, le comportement a évolué : la saisie d'une nouvelle ligne  (saisie d'un nom et d'un libellé) suivie du Save provoque systématiquement le message "Not connected to the server or the connection to the server has been closed." et l'impossibibilité de réexécuter la requête de SELECT du View/Edit data.
Pourtant, ma connexion n'est pas coupée (le clic droit sur mon serveur me propose "Diconnect Server". D'ailleurs, je peux créer et exécuter une requête via Query Tool sur cette même table, sans me reconnecter.

Le mystère s'épaissis...

Hors ligne

Pied de page des forums