On Sun, 24 Nov 2002, Yann Forget wrote: > Je cherche un script pour convertir une base MySQL en PostgreSQL et > vice-versa. Quelqu'un aurait-il �a sous la main, ou saurait-il o� je peux le > trouver ?
Elle est complexe cette base ? La derni�re fois que j'ai fait �a, j'ai re-cr�� et re-r�fl�chi les structures de donn�es, car vu le peu de choses que MySQL supporte et la fa�on dont certaines choses sont impl�ment�es on a vite mal � la t�te. Par contre, les donn�es MySQL, on peut les importer assez facilement dans PostgreSQL, avec juste quelques b�mols sur l'�chappement des guillemets, et �ventuellement via une VIEW et une RULE pour assurer l'int�grit� ou des conversions directement dans la base de donn�es. Mes diff�rentes rencontres avec MySQL ont �t� assez mauvaises: chez un client, j'ai d�j� vu des bases avec des identifiants uniques mais des tuples multiples: la base de donn�es avait d� se corrompre d'une mani�re o� d'une autre. Chez un autre client, m�me `mysqldump' refuse en ce moment de sauvegarder en raison d'incoh�rences. Et le dump g�n�r� en excluant les tables probl�matiques n'est pas restorable: la solution trouv�e est de sauvegarder directement de /var/lib/mysql, mais sur un MySQL stopp� sur un slave r�pliqu� (et il m'a fallu �crire un script de red�marrage de surveillance et red�marrage de la synchronisation car elle s'arr�te de temps en temps). Plus je joue avec MySQL plus je vois que c'est un simple jouet: rapide pour faire des requ�tes simples en lecture, et c'est tout. Mais bon �a c'est de la politique, il y a plein d'applications o� MySQL peut probablement rendre service et o� son support partiel peut suffire. Une conversion PostgreSQL -> MySQL r�ellement automatique est impossible dans l'�tat actuel, sauf si l'on utilise ni proc�dure stock�es, ni triggers, ni r�gles, ni contraintes d'int�grit� non minimalistes, ni view, ni select imbriqu�, ni transaction s�rialis�es, etc. En bref, moi je ne vois pas comment construire quoi que ce soit de solide avec MySQL: mais bon, il est vrai que j'ai une vision assez sp�ciale de l'informatique, dans laquelle on passe par diverses phases de conception avant de cr�er une structure SQL, et dans laquelle on d�place une grande partie du traitement (validation) dans la base de donn�es plut�t que dans un programme C, Perl, C++ ou PHP: cette vision ne semble pas �tre tr�s r�pandue. Mais regarde quand m�me: http://webmasterbase.com/article/529 -- http://www-internal.alphanet.ch/linux-leman/ avant de poser une question. Ouais, pour se d�sabonner aussi.
