Retourner aux forums || Retourner au forum Programmation.SQL

Programmation.SQL : Migrer de MySQL vers Prostgre

Posté par dripple () le 18 février 2008
0
Bonjour,

Je souhaiterais exporter une base que j'ai qui tourne sous MySQL vers Postgre. Existe-t'il un script qui va bien ou un utilitaire ?

Merci.

Dripple

> Lire le message (10 commentaires, moyenne: 1,8).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

Utilise les dumps

Posté par Obsidian () le 18/02/2008 à 12:23. (lien). Évalué à 2.

$ mysqldump mabase > monfichier.sql
$ psql mabase < monfichier.sql

A peu de choses près, ça devrait suffire (bon, je connais pg_dump, mais j'ai jamais essayé mysqldump, encore).

  • [^]Re: Utilise les dumps

    Posté par Gniarf () le 18/02/2008 à 13:14. (lien). Évalué à 2.

    et c'est là que tu découvres que ce n'est pas le même SQL...

    --
    Windows has no users. It has hostages.
    • [^]Re: Utilise les dumps

      Posté par Obsidian () le 18/02/2008 à 14:16. (lien). Évalué à 2.

      C'est très probable, en effet, mais s'il n'y a qu'une seule base à migrer, le SQL reste "suffisamment" le même pour que l'on puisse se permettre d'adapter le résultat du dump à la main pour les cas particuliers (gestion des rôles, etc.).

      Je pense que dans ce cas précis, ça reste la solution la plus facile et la plus rapide.

      • [^]Re: Utilise les dumps

        Posté par Etienne () le 18/02/2008 à 14:39. (lien). Évalué à 3.

        Je pense que le principal élément auquel il faut faire attention pour une base simple, c'est les "AUTOINCREMENT" de Mysql qu'il faut remplacer par des séquences avec une valeur initiale correcte dans Postgresql.

        Après s'il y a des procédures stockées et des triggers, je pense qu'il y a plus de boulot.

        • [^]Re: Utilise les dumps

          Posté par dripple () le 18/02/2008 à 16:43. (lien). Évalué à 1.

          Ben en fait c'est juste un phpBB à migrer. Ce qui ma chagrine, c'est que le mode d'export de phpMyAdmin "compatible" pg n'est en fait pas compatible pg... Et me taper tout à la main, franchement... :-(

          • [^]Re: Utilise les dumps

            Posté par Jonathan Ballet (Jabber id, ) le 18/02/2008 à 17:34. (lien). Évalué à 1.

            Tu peux aussi recréer la structure de la base avec le script d'installation phpBB, et ne migrer que les données.

            Généralement, c'est plutôt les DDL qui ne sont pas compatibles entre les bases de données (c'est le cas pour MySQL et PostgreSQL par ex.).
            Un export dans phpMyAdmin avec des insertions complètes et tout, ça devrait le faire.

            • [^]Re: Utilise les dumps

              Posté par dripple () le 28/02/2008 à 09:45. (lien). Évalué à 1.

              Je teste ça et je vous tiens au courant...

C'est du vécu

Posté par Romain LE DISEZ (page perso, ) le 19/02/2008 à 10:56. (lien). Évalué à 1.

Je suis passé d'un hébergement Free/MySQL à un hébergement perso/PostgreSQL avec un phpBB 2. Voici les étapes que j'ai suivi (j'ai pas gardé les commandes, désolé) :
1/ Exporter la base de données MySQL en ISO-8859-1 sans la structure (sans les CREATE).
2/ Convertir en UTF-8 le dump
3/ Créer la base de données dans PostgreSQL en UTF-8 (schéma fournis dans phpBB)
3/ Importer le dump dans la base
4/ Exporter la base de PostgreSQL
5/ Convertir en ISO-8859-1 le dump
6/ Créer une base dans PostgreSQL en ISO-8859-1
7/ Importer le dump ISO-8859-1
8/ Re-initialiser les séquences (les équivalents de AUTO_INCREMENT dans PostgreSQL)

Pourquoi toutes ces manipulation d'encodage. Parce que ça marchait pas bien, comme si MySQL exportait un UTF-8 invalide, et comme l'ISO ISO-8859-1 était également étrange... Donc, PostgreSQL avait quelques problèmes avec ça d'où toutes ces conversion.

  • [^]Re: C'est du vécu

    Posté par dripple () le 28/02/2008 à 09:46. (lien). Évalué à 1.

    Si la suggestion ci-dessus ne fonctionne pas, j'essaye ça.. Merci.

Revenir en haut de page || Retourner aux forums || Retourner au forum Programmation.SQL