[英]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.