異常信息
must be superuser to create FOR ALL TABLES publication
必須是超級用戶才能為所有發布表創建
網上搜索了一天,都毫無頭緒,后面搜索到了一個
https://blog.csdn.net/Zznxz0601/article/details/116166269
感覺像這個東西:
設置如下:
-- 設置發布開關
update pg_publication set puballtables=true where pubname is not null;
-- 創建發布dbz_publication,添加所有表到dbz_publication,包括以后新建的表
CREATE PUBLICATION dbz_publication FOR ALL TABLES;
-- 查詢哪些表已經發布
select * from pg_publication_tables;
flink-cdc可以讀取到數據啦
=====================可能還會遇到其它問題或者異常===============================
PGsql命令(備忘)
-- pg新建用戶 CREATE USER ODPS_ETL WITH PASSWORD 'odpsETL@2021'; -- 給用戶復制流權限 ALTER ROLE ODPS_ETL replication; -- 給用戶數據庫權限 grant CONNECT ON DATABASE test to ODPS_ETL; -- 設置發布開關 update pg_publication set puballtables=true where pubname is not null; -- 把所有表進行發布 CREATE PUBLICATION dbz_publication FOR ALL TABLES; -- 查詢哪些表已經發布 select * from pg_publication_tables; -- 給表查詢權限 grant select on TABLE aa to ODPS_ETL; -- 給用戶讀寫權限 grant select,insert,update,delete ON ALL TABLES IN SCHEMA public to bd_test; -- 把當前庫所有表查詢權限賦給用戶 GRANT SELECT ON ALL TABLES IN SCHEMA public TO ODPS_ETL; -- 把當前庫以后新建的表查詢權限賦給用戶 alter default privileges in schema public grant select on tables to ODPS_ETL; -- 更改復制標識包含更新和刪除之前值 ALTER TABLE test0425 REPLICA IDENTITY FULL; -- 查看復制標識 select relreplident from pg_class where relname='test0425'; -- 查看solt使用情況 SELECT * FROM pg_replication_slots; -- 刪除solt SELECT pg_drop_replication_slot('zd_org_goods_solt'); -- 查詢用戶當前連接數 select usename, count(*) from pg_stat_activity group by usename order by count(*) desc; -- 設置用戶最大連接數 alter role odps_etl connection limit 200;