PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Migrazione da MySQL a PostgreSQL

Steve, ho dovuto migrare la mia vecchia applicazione, ovvero PgSQL->MySQL. Devo dire che dovresti considerarti fortunato;-) I trucchi comuni sono:

  • SQL è in realtà abbastanza vicino allo standard del linguaggio, quindi potresti soffrire del dialetto di MySQL che già conosci
  • MySQL tronca silenziosamente i varchar che superano la lunghezza massima, mentre Pg si lamenta:una soluzione rapida consiste nell'avere queste colonne come "testo" invece di "varchar" e utilizzare i trigger per troncare le righe lunghe
  • Le virgolette doppie vengono utilizzate al posto degli apostrofi inversi
  • I campi booleani vengono confrontati utilizzando gli operatori IS e IS NOT, tuttavia INT(1) compatibile con MySQL con =e <> è ancora possibile
  • non c'è REPLACE, usa la combo DELETE/INSERT
  • Pg è piuttosto severo nell'imporre l'integrità delle chiavi esterne, quindi non dimenticare di utilizzare ON DELETE CASCADE sui riferimenti
  • se usi PHP con PDO, ricorda di passare un parametro al metodo lastInsertId() - dovrebbe essere il nome della sequenza, che di solito viene creato in questo modo:[tablename]_[primarykeyname]_seq

Spero che questo aiuti almeno un po'. Divertiti a giocare con Postgres!