sql >> データベース >  >> RDS >> PostgreSQL

MySQLからPostgreSQLへの移行

    スティーブ、古いアプリケーション、つまりPgSQL->MySQLを移行する必要がありました。私は言わなければなりません、あなたはあなた自身を幸運だと考えるべきです;-)一般的な落とし穴は:

    • SQLは実際には言語標準にかなり近いため、すでに知っているMySQLの方言に悩まされる可能性があります
    • MySQLは最大長を超えるvarcharを静かに切り捨てますが、Pgは文句を言います-迅速な回避策は、これらの列を「varchar」ではなく「text」とし、トリガーを使用して長い行を切り捨てることです
    • 逆アポストロフィの代わりに二重引用符が使用されます
    • ブールフィールドはIS演算子とISNOT演算子を使用して比較されますが、MySQL互換のINT(1)と=および<>は引き続き可能です
    • REPLACEはありません。DELETE/INSERTコンボを使用してください
    • Pgは外部キーの整合性を強制することにかなり厳格であるため、参照でONDELETECASCADEを使用することを忘れないでください
    • PHPをPDOで使用する場合は、lastInsertId()メソッドにパラメーターを渡すことを忘れないでください。通常は次のように作成されるシーケンス名である必要があります:[tablename] _ [primarykeyname] _seq

    それが少なくとも少し役立つことを願っています。 Postgresで遊んで楽しんでください!



    1. Oracleの空の文字列

    2. SQL Serverでの日付と時刻のデータ型間の変換(T-SQLの例)

    3. PostgresイベントトリガーからSQLテキストを取得する方法

    4. Puppetを使用したデータベース自動化:MySQLとMariaDBGaleraクラスターのデプロイ