Steve, tôi đã phải di chuyển ứng dụng cũ của mình, đó là PgSQL-> MySQL. Tôi phải nói rằng, bạn nên coi mình là người may mắn;-) Các lỗi thường gặp là:
- SQL thực sự khá gần với tiêu chuẩn ngôn ngữ, vì vậy bạn có thể gặp khó khăn với phương ngữ của MySQL mà bạn đã biết
- MySQL lặng lẽ cắt bớt các varchars vượt quá độ dài tối đa, trong khi Pg phàn nàn - cách giải quyết nhanh chóng là đặt các cột này dưới dạng 'văn bản' thay vì 'varchar' và sử dụng trình kích hoạt để cắt bớt các dòng dài
- dấu ngoặc kép được sử dụng thay vì dấu nháy đơn ngược
- các trường boolean được so sánh bằng cách sử dụng toán tử IS và IS NOT, tuy nhiên INT (1) tương thích với MySQL với =và <> vẫn có thể thực hiện được
- không có THAY THẾ, hãy sử dụng kết hợp XÓA / CHÈN
- Pg khá nghiêm ngặt trong việc thực thi tính toàn vẹn của khóa ngoại, vì vậy đừng quên sử dụng BẬT XÓA CASCADE trên tài liệu tham khảo
- nếu bạn sử dụng PHP với PDO, hãy nhớ chuyển một tham số cho phương thức lastInsertId () - nó phải là tên chuỗi, thường được tạo theo cách này:[tên bảng] _ [tên khóa chính] _seq
Tôi hy vọng điều đó sẽ giúp ít nhất một chút. Chúc bạn vui vẻ khi chơi với Postgres!