1

両方にPostgreSQLを搭載した2台のWindowsマシン(PC1とPC2)があります。PC1には次のテーブルがあります。

ここに画像の説明を入力してください

そしてPC2には、次のレコードを持つ同じテーブルがあります。

ここに画像の説明を入力してください

両方のテーブルを組み合わせてPC1に配置し、次のようにします(順序は重要ではありません)。

ここに画像の説明を入力してください

どうすればそれができますか?PostgreSQL9.2とpgAdminIIIを使用しています。可能であれば、ネットワークではなくUSBスティックを使用してデータを転送することをお勧めします。

4

2 に答える 2

1

データをダンプするだけです:

pg_dump --data-only dbname > outfile.sql

これにより、すべてのデータのファイルが得られます。このデータを他のノードに挿入し直すときに重複を心配する必要がある場合は、大きな問題です。

これは、データをインポートする方法です。

psql --set ON_ERROR_STOP=on dbname < outfile.sql

これら 2 つのデータベースを引き続き同期する必要がある場合の別の解決策は、PostgreSQL のレプリケーション戦略を使用することです。http://www.postgresql.org/docs/9.2/static/warm-standby.html#STREAMING-REPLICATION

于 2013-03-22T10:42:44.493 に答える
1

これは私がやったことです:

PC1-> pgadmin-> yourtablename -> 右クリック -> バックアップ

ファイル オプション: format:plain、encoding:your_ecnoding

ダンプ オプション #1: データのみ、列の挿入を使用します。

これにより、SQL クエリが作成されます。yourtablename を yourtablename2に置き換えて、PC2 で実行します。

重複レコードを削除し、データを追加します:

delete from yourtablename2 where id in (select id from yourtablename)

insert into yourtablename 
select * from yourtablename2

drop table yourtablename2
于 2013-03-22T10:45:52.213 に答える