No hemos utilizado las bifurcaciones de MySQL, pero para nuestro caso (una base de datos de Bioinformática) el cambio a PostgeSQL funcionó muy bien. La aplicación web (Cellwall Navigator, 10k líneas de código Perl y 10 tablas db) se ejecutaba en MySQL durante 5 años. Nos llevó 2 días ajustar el SQL para migrar a Postgres.
Ninguna aplicación codificó los ajustes necesarios, excepto la conexión a la base de datos.
Los ajustes fueron:
Se reemplazó la contraseña de MySQL () con Postgres md5 () como esto se
SELECT id FROM users WHERE email = ? AND password = password(?)
convierteSELECT id FROM users WHERE email = ? AND password = md5(?)
Conversión fácil para un MySQL STRAIGHT_JOIN a un JOIN regular
- Y un caso de JOIN como este
SQL original, que fue permitido por MySQL (funcionó bien para la aplicación antes de la migración):
SELECT sequence.id, ... FROM sequence JOIN xlink ON xlink.sequence = sequence.id WHERE xlink.accession = ? GROUP BY sequence.id
Lo ajustamos para que sea el SQL adecuado que funciona en PostgeSQL y correcto para la aplicación:
SELECT DISTINCT sequence.id, ... FROM sequence JOIN xlink ON xlink.sequence = sequence.id WHERE xlink.accession = ?