問題タブ [bucardo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
database - Bucardo 同期を追加してデータをレプリケートする
Bucardo を使用してデータベース内のデータを複製しています。mydb と呼ばれる 1 つのデータベースと、mydb2 と呼ばれる別のデータベースがあります。どちらにも、どちらの場合も「データ」と呼ばれる同一のテーブルが含まれています。この Web サイトの手順に従って、Bucardo をインストールし、2 つのデータベースを追加しました。
そしてテーブルを追加しました:
次のコマンドを使用して同期を追加しようとすると、次のようになります。
次のエラーが表示されます。
DBD::Pg::st の実行に失敗しました: エラー: Perl 関数 "herdcheck" からのエラー: 行 17 の同じ群れ (1) で異なるデータベースからのヤギを持つことはできません。 /usr/bin/bucardo_ctl 行 3346 で。
誰にも提案はありますか?いずれかをいただければ幸いです。
postgresql - 待ち時間の長いリンク全体で 3 マスター レプリケーション用に bucardo を構成していますか?
私は bucardo を初めて使用し、データベース レプリケーション用にインストールする必要があります。アイデアは、同じ内容の 3 つのデータベースを複製することです。
「db1」と呼ぶデータベースがローカル マシンにインストールされています。
2 番目のデータベースがあり、クラウド サーバーでは「db2」と呼びます。
3 番目のデータベースがあり、db1 と db2 から物理的に離れたローカル マシンで「db3」と呼びます。
次の方法で 3 つのデータベースをレプリケートするには、bucardo が必要です。
db1 は db2 と複製します。
db3 は db2 と複製します。
このアプローチにより、3 つのデータベースに同じデータを保持できると思いますが、正しいですか?
また、db1 と db3 を使用するサーバーに bucardo JUST をインストールする必要があると思いますが、正しいですか?
ご支援ありがとうございました
よろしく
パウロ
postgresql - bucardo を使用して 2 つの postgresql データベースを現在のデータと同期する
bucardo を使用して 2 つのデータベースを同期しようとしています。マスター ツー マスター レプリケーションを作成すると、正常に動作します。ただし、レプリケーションの前に挿入された行は同期できません。あるデータベースを別のデータベースにダンプしたくありません。どうやってやるの?手伝ってくれてありがとう。
postgresql - Postgres シーケンスが同期していない
bucardo と postgres を使用してマルチマスター セットアップを実行しています。
テーブル シーケンスの一部が互いに同期していないことがわかりました。特に、自動インクリメントされた ID。
例:
db1 - テーブル 1
新しい行の ID は 1 です
db2 - テーブル 1
新しい行の ID は 1 です
bucardo は db1 からデータをレプリケートしたため、db2 の新しい行の ID は 2 である必要がありますが、db2 の自動インクリメントは以下に基づいています。
「oauth_sessions_id_seq」を確認すると、最後の値が 0 であることがわかります。
ふぅ… 理にかなっていますか?
とにかく、私は次のいずれかを行うことができますか?
各 DB のセッションが共有されるように、セッション テーブルを bucardo で複製しますか?
上記のデフォルトの自動インクリメント関数を操作して、テーブル内の既存のアイテムの最大数を考慮しますか?
より良いアイデアがあれば、遠慮なくお寄せください。質問はお気軽にどうぞ。
postgresql - bucardo 経由で RDS への postgres マスター マスター デルタ レプリケーション
Bucardo-5.3.1 を使用しており、オンプレミスの postgreSQL データベースを複製しようとしています。RDS postgreSQL を使用してマスター - マスター レプリケーションを作成しました。RDS データベースが空で、pg_dump が完了している場合、正常にレプリケートできますが、デルタ レプリケーションを実行するときに問題が発生します。しようとするとpg_dump -U $PGSUPERUSER -h $PGHOST --data-only -N bucardo $PGDATABASE | PGOPTIONS='-c session_replication_role=replica' psql -U $BUCARDOUSER -h $PGHOST2 -d $PGDATABASE
セッションのレプリケーションが RDS によって拒否されているため、次のエラーが表示されます
私も以下のコマンドを使ってみました
pg_restore も使用してみましたが、それでもERROR: duplicate key value violates unique constraint
postgresql - Bucardo Postgresql マルチマスターでシーケンスを処理する方法
3 つの異なる Postgresql サーバー (将来的にはさらに増える可能性があります) にデータベースをセットアップしており、現在、bucardo マルチマスター グループを使用してすべてのテーブルを同期しています。
シーケンスを同期していません。私たちはそれを試しましたが、異なるサーバー上の同じテーブルで同時書き込みが発生すると、bucardo によってデータが失われることに気付きました。それらは同じキーを使用するため、同期時に bucardo は重複行の 1 つを削除することを選択します。
私たちの現在のアプローチは、データベースの各インスタンスでシーケンスを手動で名前空間にすることです。たとえば、インスタンス 1 はそのままにしておきます。すべてのインスタンス 2 テーブル シーケンスは 2^31/10 から開始するように更新され、インスタンス 3 テーブル シーケンスは 2^31/10*2 から開始するように変更されます。インスタンス 10 シーケンスは 2^31 から開始するように変更されます。 /10*9.
このアプローチについてどう思いますか? また、Bucardo マルチマスター セットアップについて他に何かアドバイスはありますか? Postgresql BDR は、まだ安定したリリースとは見なされていないため、オプションではありません。
postgresql - bucardo に postgresql データベースを追加中にエラー「/usr/local/bin/bucardo 行 308 でユーザー "bucardo" のパスワード認証に失敗しました」
Linux サーバーに Bucardo をインストールしました。しかし、ユーザー「bucardo」を使用してデータベースを追加しようとすると、追加できません。データベースの追加中に次のエラーが発生します。
DBI connect('dbname=bucardo;host=localhost;port=5432','bucardo') FATAL: /usr/local/bin/bucardo 行 308 でユーザー「bucardo」のパスワード認証に失敗しました
postgresql - 2 つ以上の postgresql データベース間でマスター - マスター レプリケーションを実現するにはどうすればよいですか?
次の方法で、2 つ以上の postgresql データベース間でマスター - マスター レプリケーションをセットアップできるようにしたいと考えています。
db_main、db_1、db_2 という 3 つのデータベースがあるとします。db_main と db1 の間には双方向のレプリケーション設定 (Bucardo 用語ではスワップ同期かな?) があり、db_main と db_2 の間には別の設定があります。db_1 と db_2 は直接接続されていませんが、db_1 に table1 を作成し、db_2 に table2 を作成すると、table1 と table2 の両方が 3 つのデータベースすべてに伝達されます。
そのような設定は可能ですか?はいの場合、どのように?一貫性のレベルは?ソリューションは、ネットワーク障害によるメッセージ損失などの障害を許容しますか?
前もって感謝します。
postgresql - 異なる postgresql バージョン間で bucardo を使用してレプリケーションを行うことは可能でしょうか?
postgresqlを備えた2つのデータベースサーバー(Debian 8.3)があります。最初のサーバーには postgresql 8.4 があり、2 番目のサーバーには postgresql 9.4 があります。
この 2 つのデータベース サーバー間で bucardo をセットアップすることは可能でしょうか?
私にお知らせください。ヒントをいただければ幸いです。