簡體   English   中英

邏輯復制不會將數據從發布者復制到訂閱者

[英]logical replication not copying data from publisher to subscriber

這是 Ubuntu 18.04 上的 postgres 10

我將模式從發布者復制到訂閱者

pg_dump -d <db> -s | psql <db> -h subscriber_host -U rep

在發布者上將 wal_level 設置為邏輯

ALTER SYSTEM SET wal_level = 'logical';

我在發布者上重新啟動了數據庫

我連接到數據庫

\<db>

創建出版物

CREATE PUBLICATION my_pub FOR ALL TABLES;

然后將權限授予名為 rep 的現有復制用戶

GRANT ALL PRIVILEGES ON DATABASE <db> TO rep;

我現在在訂閱者上

CREATE Subscription sub CONNECT 'dbname=<db> host=x.x.0.174 user=rep password=password' PUBLICATION my_pub;

數據沒有復制過來,訂閱服務器上的表仍然是空的。

我在日志中看到以下錯誤:

2020-08-14 01:26:08.055 UTC [21523] LOG:  worker process: logical replication worker for subscription 56144 sync 55996 (PID 435) exited with exit code 1
2020-08-14 01:26:08.057 UTC [437] LOG:  logical replication table synchronization worker for subscription "sub", table "wholesaletransfers" has started
2020-08-14 01:26:08.081 UTC [436] ERROR:  could not start initial contents copy for table "public.wholesale": ERROR:  permission denied for relation wholesale

為什么批發表在時顯示public.wholesale

您僅將數據庫權限授予用戶rep ,但未授予架構和表的權限。

用戶只需要數據庫上的CONNECT權限,但它需要模式上的USAGE和表上的SELECT

暫無
暫無

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

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