IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes PostgreSQL Discussion :

Requête sur séquence - Différences PG9.6 vs PG11


Sujet :

Requêtes PostgreSQL

  1. #1
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 629
    Points : 30 859
    Points
    30 859
    Billets dans le blog
    1
    Par défaut Requête sur séquence - Différences PG9.6 vs PG11
    Bonjour à tous

    Je me suis intéressé à Postgres11 sorti récemment. Non pas parce que je cours après les versions mais là j'avais envie de voir un peu le truc.

    Et j'ai remarqué une première différence sur les séquences. En effet, il est mentionné dans la doc (je cite) "Bien qu'il ne soit pas possible de mettre à jour une séquence en accédant directement à la table, une requête telle que : SELECT * FROM nom peut être utilisée pour examiner les paramètres et l'état courant d'une séquence" (page 1204 de la doc pg9.6)

    Et c'est un truc donc je me servais pas mal dans mes stats. C'est toujours sympa de pouvoir afficher le taux de remplissage d'une séquence en fonction de sa last_value et sa max_value. Mais en v11 (et probablement en v10 aussi) la "max_value" n'y est plus (et la citation de la doc v11, qui se trouve maintenant en page 1287, n'a pas changé).

    J'ai tenté de chercher un peu voir si Postgres mentionnait ce changement mais je n'ai rien trouvé.

    Voici ce qu'on avait dans PG9.6 quand on tape "select * from nom_sequence": sequence_name | last_value | start_value | increment_by | max_value | min_value | cache_value | log_cnt | is_cycled | is_called...
    Et voici ce qu'on a dans PG11: last_value | log_cnt | is_called. Ca a drastiquement diminué quoi.

    Si quelqu'un a une remarque...

    Merci de votre attention.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  2. #2
    Futur Membre du Club
    Profil pro
    Responsable d'exploitation informatique
    Inscrit en
    Novembre 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable d'exploitation informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    Idem pour moi, j'avais des views sous PostgreSQL 9.6 qui utilisaient les informations des séquences.

    J'ai voulu passer à la version 11 et lors de la restauration, le système plante lors de la création de ces views.

    Impossible de créer un SELECT à partir d'une séquence.

    Exemple d'une requête qui ne fonctionne plus:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT sequence_name, last_value, increment_by, max_value, min_value, cache_value, log_cnt, is_cycled, is_called 
    FROM ligne_ligne_key;
    => donne des erreurs

    il n'y a que SELECT last_value, log_cnt, is_called from ligne_ligne_key; qui fonctionne

    Quelqu'un sait-il comment contourner ce problème?

    Cordialement.

  3. #3
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 007
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 007
    Points : 23 681
    Points
    23 681
    Par défaut
    Bonjour,

    Peut-être en utilisant la vue système pg_sequences...
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  4. #4
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 629
    Points : 30 859
    Points
    30 859
    Billets dans le blog
    1
    Par défaut
    Ah ? J'avais presque oublié ce topic qui était resté un peu orphelin.

    Sinon c'est exact. On retrouve maintenant ces valeurs dans pg_sequences, table qui n'existait pas en v9.6.

    Ce qui m'a obligé dans mes codes à rajouter un test sur la version de Postgres.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. Requête sur un MemData
    Par claude dans le forum Bases de données
    Réponses: 5
    Dernier message: 23/12/2004, 11h11
  2. Requête sur date
    Par guenfood dans le forum Access
    Réponses: 11
    Dernier message: 08/12/2004, 17h11
  3. Requête sur un serveur lié
    Par Guizz dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 06/08/2003, 12h35
  4. requête sur l'année d'une date
    Par jo77 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 30/07/2003, 10h28
  5. Réponses: 3
    Dernier message: 07/05/2002, 17h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo