簡體   English   中英

PostgreSQL 11中的邏輯復制和聲明分區

[英]Logical Replication and Declarative Partitioning in PostgreSQL 11

我有2億行的常規表transactions

我決定使用邏輯復制將此表轉換為聲明性分區。

我在node1上創建了一個發布,如下所示:

CREATE PUBLICATION transactions_pub FOR TABLE transactions;

當我嘗試在node2上創建Subscription如下:

CREATE SUBSCRIPTION transactions_sub CONNECTION 'host=x.x.x.x port=5432 password=123456 user=replicator dbname=mydbname' PUBLICATION transactions_pub;

返回此錯誤:

ERROR:  logical replication target relation "public.transactions" is not a table

是否可以使用邏輯復制將常規表復制到聲明性分區表?

不,邏輯復制無法復制於聲明分區表。

目前,邏輯復制僅適用於基表。

請參閱此文檔頁面

只能從基表到基表進行復制。 也就是說,發布和訂閱方面上的表必須是普通表,而不是視圖,物化視圖,分區根表或外表。 對於分區,您可以因此一對一地復制分區層次結構,但目前無法復制到不同的分區設置。 嘗試復制除基表之外的表將導致錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM