0

4 ~ 5 個のテーブルを持つ PostgreSQL データベースがあります (そのうちのいくつかは 2,000 万行を超えます)。このデータベース全体を別のマシンに複製する必要があります。ただし、そのマシンにMySQLがあります(何らかの理由でPostgreSQLをインストールできません)。

データベースは静的であり、更新もリフレッシュもされません。レプリケーションが完了したら、データベース間で同期する必要はありません。基本的に、私はデータをバックアップしようとしています。

コンテンツをファイルにダンプするpg_dumpというユーティリティがあります。これを圧縮して他のサーバーに ftp できます。psqlただし、これをデータベースにリロードする他のマシンはありません。mysqlこのファイルを解析して、一貫したデータベースにデコードする可能性はありますか?

Postgresバージョン 9.1.9 で、mysqlバージョン 5.5.32-0ubuntu0.12.04.1 です。

サービスをインストールせずにこれを行う簡単な方法は他にありますか?

4

1 に答える 1

1

何を「シンプル」と考えるかによります。テーブルの数が少ないので、私が行う方法は次のとおりです。

  1. pg_dump -t table_name --column-inserts で個々のテーブルをダンプします
  2. 個々のファイルを編集し、mysql と互換性があるようにスキーマ定義を変更します (たとえば、シリアルの代わりに auto_increment を使用するなど): 次のように: http://www.xach.com/aolserver/mysql-to-postgresql.html逆方向のみ)
  3. 他の mysql スクリプトと同じように、ファイルを mysql ユーティリティにロードします。

ステップ 2 にはファイルが大きすぎる場合は、pg_dump に -s および -a 引数を使用してデータとスキーマを個別にダンプし、スキーマ ファイルのみを編集して両方のファイルを mysql にロードします。

于 2013-10-22T09:43:54.107 に答える