異常信息
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;
