开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

Flink CDC中postgres cdc 如何从只读的从库获取 snapshot 数据?

Flink CDC中postgres cdc 如何从只读的从库获取 snapshot 数据?试了一下报这个错: Caused by: org.postgresql.util.PSQLException: ERROR: recovery is in progress?

展开
收起
cuicuicuic 2023-11-07 19:30:52 32 0
1 条回答
写回答
取消 提交回答
  • 从你的问题描述来看,你正在使用 Flink CDC 从 PostgreSQL 数据库中获取 snapshot 数据,但在尝试读取数据时遇到了错误,报错信息为 "Caused by: org.postgresql.util.PSQLException: ERROR: recovery is in progress"。这个错误提示通常表示 PostgreSQL 数据库正在进行恢复操作。

    在 PostgreSQL 中,当主数据库服务器发生故障时,可以设置一个或多个从数据库服务器来接管主服务器的任务。在这个过程中,从数据库服务器会持续从主数据库服务器获取数据更改,以保持与主服务器的同步。当你尝试从正在恢复的从数据库服务器获取 snapshot 数据时,可能会遇到这个错误。

    为了解决这个问题,你可以尝试以下方法:

    1. 等待恢复完成:等待 PostgreSQL 数据库的恢复操作完成后再尝试获取 snapshot 数据。这可能需要一些时间,具体取决于主数据库服务器和从数据库服务器之间的同步频率以及数据量。
    2. 配置 PostgreSQL 参数:在 PostgreSQL 配置文件中调整相关参数,以便更快地完成恢复操作。例如,可以增加 recovery_target_timeline 参数的值,将其设置为 "latest possible" 以加速恢复过程。
    3. 检查网络连接:确保 Flink CDC 与 PostgreSQL 数据库之间的网络连接稳定可靠。如果网络连接不稳定或存在延迟,可能会导致恢复操作出现问题。
    4. 使用专门的只读用户:在连接到 PostgreSQL 数据库时,使用专门的只读用户来获取 snapshot 数据。这样可以避免与正在进行的恢复操作冲突。
    2023-11-10 10:36:51
    赞同 1 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    Flink CDC Meetup PPT - 覃立辉 立即下载