服务器设置和教程 · 2 1 月, 2024

PostgreSQL 命令:CREATE SUBSCRIPTION

PostgreSQL 命令:CREATE SUBSCRIPTION

PostgreSQL 是一個功能強大的開源關係型數據庫管理系統,提供了多種功能和特性。其中一個顯著的特性是使用 CREATE SUBSCRIPTION 命令在多個伺服器之間進行數據複製。在本文中,我們將探討 CREATE SUBSCRIPTION 命令及其在 PostgreSQL 中的用法。

什麼是 CREATE SUBSCRIPTION?

PostgreSQL 中的 CREATE SUBSCRIPTION 命令允許您在一個發佈者數據庫和一個或多個訂閱者數據庫之間設置邏輯複製。它使您可以將發佈者的特定表或整個數據庫實時複製到訂閱者數據庫。

邏輯複製與物理複製不同,它複製的是數據所作的變更,而不是整個數據庫集群的內容。這使其在處理大型數據庫時更具靈活性和效率。

如何使用 CREATE SUBSCRIPTION?

要創建一個訂閱,您需要一個發佈者數據庫和至少一個訂閱者數據庫。以下是 CREATE SUBSCRIPTION 命令的基本語法:

CREATE SUBSCRIPTION subscription_name
    CONNECTION 'connection_string'
    PUBLICATION publication_name
    WITH (option_name = option_value, ...);

以下是語法的分解:

  • subscription_name:您想要創建的訂閱名稱。
  • CONNECTION 'connection_string':指定到發佈者數據庫的連接字符串。
  • PUBLICATION publication_name:您想要訂閱的發佈名稱。發佈是一個命名的表集合或整個數據庫,您希望將其複製。
  • WITH (option_name = option_value, ...):訂閱的附加選項,例如複製方法、槽名稱和同步方法。

當您創建訂閱後,PostgreSQL 會開始實時將指定的表或數據庫從發佈者複製到訂閱者。

範例:

假設我們有一個名為 “mydb” 的發佈者數據庫和一個名為 “mysubdb” 的訂閱者數據庫。我們想將 “employees” 表從發佈者複製到訂閱者。以下是創建訂閱的方法:

CREATE SUBSCRIPTION my_subscription
    CONNECTION 'dbname=mydb host=example.com port=5432 user=myuser password=mypassword'
    PUBLICATION my_publication
    WITH (copy_data = false);

在這個範例中,我們創建了一個名為 “my_subscription” 的訂閱,使用指定的連接字符串連接到發佈者數據庫。我們訂閱了名為 “my_publication” 的發佈,並設置了 “copy_data” 選項為 false,這意味著訂閱者中的現有數據不會從發佈者那裡複製過來。

總結

PostgreSQL 中的 CREATE SUBSCRIPTION 命令允許您在一個發佈者數據庫和一個或多個訂閱者數據庫之間設置邏輯複製。它提供了一種靈活且高效的方式來實時複製特定的表或整個數據庫。通過使用 CREATE SUBSCRIPTION 命令,您可以輕鬆保持多個伺服器上的數據同步。

如需可靠且高效能的 VPS 託管解決方案,請考慮 Server.HK。Server.HK 提供多種計劃和卓越的客戶支持,是業內值得信賴的服務提供商。