10

マスター postgresql サーバーからスレーブ マシンに個々の DB テーブルをレプリケートする最良の方法は何でしょうか? cron + rsync、またはpostgresqlに組み込まれている可能性のあるもの、または何らかのOSSツールを使用して実行できますが、これまでのところ、postgresのドキュメントではテーブルレプリケーションの方法について説明していないようです. 一部のテーブルにライセンス-> IP が接続されているため、完全な DB レプリケーションを行うことができず、スレーブ マシンでそれらをレプリケートできません。インスタント レプリケーションは必要ありません。1 時間ごとでも構いません。

rsyncだけが必要な場合は、/var/lib/pgsqlディレクトリ内のどのファイルを同期する必要があるか、またはそれらがどのテーブルであるかをどのように知るかを特定するのを手伝ってくれる人がいますか?

4

3 に答える 3

4

Postgres 10 から、論理レプリケーションが Postgres に組み込まれました。多くの場合、これは外部ソリューションよりも優れたソリューションです。Postgres のドキュメントは素晴らしく、従うのも簡単です。それは非常に簡単です。クイック セットアップ ドキュメントを参照してください。本質的には、これを実行することになります。

-- On publisher DB
CREATE PUBLICATION mypub FOR TABLE users, departments;

-- On subscriber DB
CREATE SUBSCRIPTION mysub CONNECTION 'dbname=foo host=bar user=repuser' PUBLICATION mypub;
于 2020-08-14T05:10:21.673 に答える
4

テーブルが離れた場所にある場合でも、テーブル間で行を同期するオープン ソース ソフトウェアである Bucardo を試してみてください。非常にシンプルなソフトウェアで、一方向の同期関係も作成できます。

http://bucardo.org/wiki/Bucardoをご覧ください

于 2012-08-16T10:47:45.960 に答える
3

個々のテーブル ファイルをデータ ディレクトリにコピーしても、何も役に立ちません。選択したテーブルをレプリケートする場合は、いくつかの適切なオプションがあります。

http://wiki.postgresql.org/wiki/Replication,_Clustering,_and_Connection_Pooling

于 2012-08-15T22:33:56.653 に答える