日本語版
最新ニュース
世界

Postgres での論理レプリケーション。論理レプリケーションの概要 |ケマル・オズ著 | 2024 年 10 月

PostgreSQL の論理レプリケーションは、データの変更を論理レベルでレプリケートするように設計されており、特定のテーブルやデータベース全体を PostgreSQL インスタンス間でレプリケートできます。データベース クラスター全体を複製する物理レプリケーションとは異なり、論理レプリケーションではより詳細な制御が可能であり、データ移行、高可用性、マルチマスター レプリケーション セットアップなどのシナリオに特に役立ちます。2 つの PostgreSQL インスタンスは、異なるサーバー上で実行されるか、簡単にするために同じサーバー上で実行されます。SQL コマンドと PostgreSQL 構成に関する基本的な知識。この例では、2 つの PostgreSQL データベース間の論理レプリケーションを構成します。 db1 (プライマリ データベース) および db2 (加入者データベース)。私たちの目標は、単純なテーブルを複製することです。 db1 に db2。まず、テーブルへの変更をパブリッシュするためにプライマリ データベースを設定する必要があります。次の手順に従います。テーブルを作成して初期データを挿入するに接続します db1 次のコマンドを実行してテーブルを作成し、初期データを挿入します。CREATE TABLE table1 (ad VARCHAR(15),soyad VARCHAR(15) ); INSERT INTO table1 (ad,…

Postgres での論理レプリケーション。論理レプリケーションの概要 |ケマル・オズ著 | 2024 年 10 月

1727770640
2024-10-01 08:13:15

PostgreSQL の論理レプリケーションは、データの変更を論理レベルでレプリケートするように設計されており、特定のテーブルやデータベース全体を PostgreSQL インスタンス間でレプリケートできます。データベース クラスター全体を複製する物理レプリケーションとは異なり、論理レプリケーションではより詳細な制御が可能であり、データ移行、高可用性、マルチマスター レプリケーション セットアップなどのシナリオに特に役立ちます。

  • 2 つの PostgreSQL インスタンスは、異なるサーバー上で実行されるか、簡単にするために同じサーバー上で実行されます。
  • SQL コマンドと PostgreSQL 構成に関する基本的な知識。

この例では、2 つの PostgreSQL データベース間の論理レプリケーションを構成します。 db1 (プライマリ データベース) および db2 (加入者データベース)。私たちの目標は、単純なテーブルを複製することです。 db1db2

まず、テーブルへの変更をパブリッシュするためにプライマリ データベースを設定する必要があります。次の手順に従います。

テーブルを作成して初期データを挿入する

に接続します db1 次のコマンドを実行してテーブルを作成し、初期データを挿入します。

CREATE TABLE table1 (ad VARCHAR(15),soyad VARCHAR(15) );  

INSERT INTO table1 (ad, soyad) VALUES ('Kemal', 'oz');

パブリケーションを作成する

パブリケーションは、レプリケートする変更 (挿入、更新、削除) の名前付きコレクションです。すべてのテーブルのパブリケーションを作成します。

CREATE PUBLICATION alltables12 FOR ALL TABLES;

次に、作成されたパブリケーションからデータを受信するように購読者データベースを構成します。 db1

テーブルを作成する

それを確認してください db2 と同じテーブル構造を持っています db1:

CREATE TABLE table1 (ad VARCHAR(15),soyad VARCHAR(15) );

サブスクリプションを作成する

サブスクリプションはパブリケーションに接続し、そこからの変更を適用します。次のコマンドを実行してサブスクリプションを作成します db2:

CREATE SUBSCRIPTION mysub1 CONNECTION 'host=localhost port=5432 user=postgres dbname=test9' PUBLICATION alltables;

接続パラメータを置き換えます(hostportuser、 そして dbname) セットアップに適したものを選択してください。

レプリケーションが機能していることを確認するには、新しいデータをテーブルに挿入します。 db1 に表示されるかどうかを確認してください db2

データを挿入する db1

で次のコマンドを実行します db1:

INSERT INTO table1 (ad, soyad) VALUES ('alı', 'oz');

データの検証 db2

に接続します db2 そしてテーブルの内容を確認します。

SELECT * FROM table1;

初期データと挿入された新しいデータの両方が表示されるはずです。 db1:

ad   | soyad 
-------+-------
Kemal | oz
alı | oz

PostgreSQL の論理レプリケーションは、データベース間でデータを同期するための柔軟かつ強力な方法を提供します。これらの手順に従うことで、2 つの PostgreSQL インスタンス間の基本的なレプリケーション シナリオがセットアップされました。この設定を、データの特定のサブセットのレプリケーションやマルチマスター レプリケーションの実装など、より複雑なシナリオに拡張できます。

#Postgres #での論理レプリケーション論理レプリケーションの概要 #ケマルオズ著 #年 #月

執筆者について: nipponese

Nipponese News編集部は、国内外のニュースを日本語で分かりやすくお届けします。