banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

#1 Fri 23 April 2021 15:56

kevindescamps
Participant occasionnel
Lieu: Grenoble
Date d'inscription: 20 Nov 2013
Messages: 34

PostgreSQL Problème valeur par défaut d'une colonne

Bonjour,


Dans PostgreSQL, je rencontre un problème avec la fonction "valeur par défaut" disponible depuis l'onglet définition d'une colonne. Ma valeur par défaut n'apparait pas lorsque j'ajoute une entité dans QGIS (voir pièce jointe jointe)

Auriez-vous une idée ?

Pour resituer le contexte, je souhaite qu'un numéro unique soit automatiquement attribué à la nouvelle valeur de mon champ "arbre_id" à la manière d'une clé primaire mais indépendamment de la clé primaire.
Pour le caractère unique j'ai créé une contrainte d'unicité et cela fonctionne très bien, la création d'un doublon est impossible Pour l'aspect numérotation, j'ai créé une séquence intitulé "inventaire_arbre_id_seq" + ajout de la valeur par défaut faisant appel à la séquence.

Je n'ai pas l'habitude de créer et d'exploiter les séquences  ainsi jusqu'à présent, je n'utilisais cette fonctionnalité que pour les clés primaires de mes tables et ceci à l'aide du gestionnaire de base de données de QGIS qui gère automatiquement la clé primaire, la séquence, la valeur par défaut, etc...

J'imagine qu'il y a quelque chose que je fais mal dans posgreSQL, mais quoi ?

Merci d'avance pour votre aide


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#2 Mon 26 April 2021 12:05

MathieuB
Membre du bureau
Lieu: Montpellier
Date d'inscription: 18 Jan 2006
Messages: 1229
Site web

Re: PostgreSQL Problème valeur par défaut d'une colonne

Bonjour Kevin,

je pense que QGIS affiche la valeur par défaut (ou son expression) pour la clé primaire de la table mais pas pour les autres colonnes de la table
A l'enregistrement de l'entité la valeur par défaut "arbre_id" sera bien attribuée et visible dans la table attributaire de ta "couche".


Mathieu BOSSAERT
Association GeoRezo

Hors ligne

 

#3 Mon 26 April 2021 16:36

Franck2908
Participant actif
Date d'inscription: 5 Mar 2010
Messages: 85

Re: PostgreSQL Problème valeur par défaut d'une colonne

Bonjour,
la valeur par défaut sera attribuée à l'enregistrement, elle n'apparaît pas encore sur QGIS car la transaction n'est pas terminée et l'information par défaut n'est donc pas disponible.
Votre numéro unique n'est pas réservé en attente d'un enregistrement. Si c'était le cas, vous auriez des trous dans votre numérotation à chaque annulation d'une saisie dans le cas où vous seriez plusieurs à saisir en même temps.

Dernière modification par Franck2908 (Mon 26 April 2021 16:39)

Hors ligne

 

#4 Thu 29 April 2021 13:41

MathieuB
Membre du bureau
Lieu: Montpellier
Date d'inscription: 18 Jan 2006
Messages: 1229
Site web

Re: PostgreSQL Problème valeur par défaut d'une colonne

pour préciser, la valeur par défaut est réservée au début d'une transaction, qui dans QGIS correspond à la demande d'enregistrement des données. Tant qu'on a pas demandé à QGIS d'enregistrer les données la transaction n'a pas débuté.

Et les trous dans les séries sont fréquents. Par exemple quand des transactions échouent (erreur de géométrie par exemple dans QGIS), ou ROLLBACK demandé dans PostgreSQL car le résultat escompté d'une requête de modification de données n'est pas celui obtenu.


Mathieu BOSSAERT
Association GeoRezo

Hors ligne

 

Pied de page des forums

Powered by FluxBB