• flink-cdc读取postgres报异常,没有发布表


    异常信息

    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;
    

      


  • 相关阅读:
    Java并发之CAS与AQS简介
    关系型数据库三范式
    分库分表使用场景及设计方式
    项目部署到tomcat出错(tomcat运行时的JDK版本)
    手写一个简化版Tomcat
    java并发之并发工具
    java并发之停止线程
    class中static总结-静态成员函数和静态成员变量
    45 孩子们的游戏(圆圈中最后剩下的数) + list操作总结+ for_each多记忆容易忘记
    C++ split分割字符串函数
  • 原文地址:https://www.cnblogs.com/xiongmozhou/p/14718326.html
Copyright © 2020-2023  润新知