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

Administration PostgreSQL Discussion :

Migration MySQL -> pgSQL et problèmes de séquence


Sujet :

Administration PostgreSQL

  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Mai 2009
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 277
    Points : 742
    Points
    742
    Par défaut Migration MySQL -> pgSQL et problèmes de séquence
    Salux !

    J'ai un petit problème de séquences sur une BDD qui fonctionnait sur MySQL et que j'ai migrée sur pg. En effet, les données ont bien été recopiées, mais les séquences sont restées à 1 (ex. j'insère les données 1, 2, 3, 4, 5 lors de la migration, puis j'essaie d'ajouter un élément -> erreur car la séquence génère 1).

    J'ai trouvé le moyen de procéder avec ALTER SEQUENCE x RESTART WITH y, mais c'est assez long puisque je dois le faire sur chaque table. Est-ce qu'il y a un moyen d'automatiser et de demander à pg de le faire sur chaque séquence ?

  2. #2
    Membre expérimenté Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Points : 1 734
    Points
    1 734
    Par défaut
    Sous Postgresql tu as le type de données SERIAL qui fait l'équivalent du AUTO INCREMENT de MySQL.
    A la création de la table avec la colonne de type SERIAL, une séquence est implicitement créée pour cette colonne.
    Ainsi, à chaque ligne insérée, la ligne récupère automatiquement l'id suivant et incrémente la séquence, sans que tu ais besoin de forcer toi-même la modification du numéro de séquence avec un nextval ou un trigger after insert
    Voir la doc officielle de Postgresql, paragraphe 8.1.4
    La théorie, c'est quand on sait tout mais que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

    Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/

Discussions similaires

  1. problème encodage depuis migration mysql 5
    Par speedev dans le forum MySQL
    Réponses: 1
    Dernier message: 08/07/2010, 04h30
  2. [PDO] Problème de PDO avec migration mysql -> mssql
    Par bulkathos dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/07/2007, 12h15
  3. [DB2] Migration MySQL -> DB2
    Par deromemont dans le forum DB2
    Réponses: 1
    Dernier message: 29/03/2005, 11h14
  4. migration mysql > postgresql
    Par jacques trepp dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 25/03/2005, 10h05
  5. Timestamp et migration mysql postgresql
    Par romeo9423 dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 05/02/2005, 10h11

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