PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Migracja z MySQL do PostgreSQL

Steve, musiałem migrować moją starą aplikację dookoła, czyli PgSQL->MySQL. Muszę powiedzieć, że powinieneś uważać się za szczęściarza;-)Częste błędy to:

  • SQL jest w rzeczywistości bardzo zbliżony do standardu językowego, więc możesz cierpieć z powodu dialektu MySQL, który już znasz
  • MySQL po cichu obcina varchary, które przekraczają maksymalną długość, podczas gdy Pg narzeka - szybkim obejściem jest ustawienie tych kolumn jako „text” zamiast „varchar” i użycie wyzwalaczy do obcinania długich linii
  • podwójne cudzysłowy są używane zamiast odwrotnych apostrofów
  • pola logiczne są porównywane za pomocą operatorów IS i IS NOT, jednak INT(1) zgodny z MySQL z =i <> jest nadal możliwy
  • nie ma opcji ZAMIEŃ, użyj kombinacji USUŃ/WSTAW
  • Pg jest dość surowy w egzekwowaniu integralności kluczy obcych, więc nie zapomnij użyć ON DELETE CASCADE na referencjach
  • jeżeli używasz PHP z PDO, pamiętaj o przekazaniu parametru do metody lastInsertId() - powinna to być nazwa sekwencji, która zwykle tworzona jest w ten sposób:[nazwa_tabeli]_[nazwa_klucza podstawowego]_seq

Mam nadzieję, że to choć trochę pomoże. Baw się dobrze grając z Postgresem!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wybierz liczbę wierszy w innej tabeli w instrukcji Postgres SELECT

  2. Jak obracać logi PgBouncera w systemie Linux/Windows?

  3. Brak mapowania dialektu dla typu JDBC:2003

  4. Filtrowanie Django JSONField

  5. Jak usunąć bazę danych PostgreSQL, jeśli są z nią aktywne połączenia?