現在、MySQLデータベースをPostgreSQLに移行しています。私が持っている1つのテーブル-実際には私のアプリで最も重要なテーブルを除いて、ほとんどすべてがうまくいきました(まあ、正しいmysqldumpパラメータなどのためにたくさんのグーグルをした後)。
テーブル構造は非常に単純です。
mysql> show create table samples;
.. skipped ...
CREATE TABLE `samples` (
`File_ID` int(11) NOT NULL,
`File` longblob,
PRIMARY KEY (`File_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=binary
ただし、非常に大きい(> 20 Gb)。
mysqldumpの--hex-blobパラメーターを使用しようとしましたが、結果のダンプファイルをコマンドファイルとして使用しようとすると、この形式のデータはPostgreSQLで受け入れられません。私が試した別のオプションは、-tabオプションを使用してダンプを取得し、COPYコマンドでPostgreSQLに挿入することです-しかし、-hex-blobは--tabで動作せず、PostgreSQLはまだダンプファイルを受け入れません無効な文字です。
この問題に関してアドバイスをいただければうれしいです-カスタム移行ツールを書くことは結局悪い考えではないと思い始めていますが...
最後に確認したところ、PostgreSQLのdblinkは他のPostgreSQLインスタンスにしか接続できませんでした。MySQL Proxyはこれ以上優れているとは思いません。... PostgreSQLのに挿入するために、MySQLのからの読み取りに:(などのJava、IE)あなたの好きな言語を使用する必要があるかもしれません
bytea型のためposgresql 9をサポート六角構文直接、こちらを参照してください。postgresql.org/docs/9.0/interactive/...(あなたはかかわらのsedのビットが必要です)