Não usamos os garfos do MySQL, mas para o nosso caso (um banco de dados de Bioinformática) a mudança para o PostgeSQL funcionou muito bem. O aplicativo da Web (Cellwall Navigator, 10k linhas de código Perl e 10 db tabelas) estava em execução no MySQL por 5 anos. Demoramos 2 dias para ajustar o SQL para migrar para o Postgres.
Nenhum aplicativo codificado precisou de ajustes, exceto a conexão com o banco de dados.
O ajuste foi:
Senha do MySQL substituída () pelo Postgres md5 () como esta
SELECT id FROM users WHERE email = ? AND password = password(?)
se tornaSELECT id FROM users WHERE email = ? AND password = md5(?)
Fácil conversão para um MySQL STRAIGHT_JOIN em um JOIN regular
- E um caso JOIN como este
SQL original, permitido pelo MySQL (funcionou bem para o aplicativo antes da migração):
SELECT sequence.id, ... FROM sequence JOIN xlink ON xlink.sequence = sequence.id WHERE xlink.accession = ? GROUP BY sequence.id
Nós o ajustamos para o SQL apropriado que funciona no PostgeSQL e corrige para o aplicativo:
SELECT DISTINCT sequence.id, ... FROM sequence JOIN xlink ON xlink.sequence = sequence.id WHERE xlink.accession = ?