首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解决错误:无法访问文件"pglogical":没有这样的文件或目录

如何解决错误:无法访问文件"pglogical":没有这样的文件或目录
EN

Stack Overflow用户
提问于 2019-06-17 13:29:49
回答 3查看 4.8K关注 0票数 9

错误:

代码语言:javascript
复制
2019-06-17T05:00:11 [SOURCE_CAPTURE ]E: RetCode: SQL_ERROR SqlState: 58P01 NativeError: 1 Message: ERROR: could not access file "pglogical": No such file or directory;, Error while executing the query [1022502] (ar_odbc_stmt.c:2546)
2019-06-17T05:00:11 [SOURCE_CAPTURE ]E: RetCode: SQL_ERROR SqlState: 42P01 NativeError: 1 Message: ERROR: relation "pglogical.replication_set" does not exist;, No query has been executed with that handle [1022502] (ar_odbc_stmt.c:3722)

我们每隔3个月左右就会收到这个错误。重新启动任务可以解决问题,但恢复不起作用。

复制槽存在,但似乎处于非活动状态:

代码语言:javascript
复制
   postgres=> select * from pg_replication_slots ;
                               slot_name                            |    plugin     | slot_type | datoid |   database    | active | active_pid | xmin | catalog_xmin | restart_lsn
    ----------------------------------------------------------------+---------------+-----------+--------+---------------+--------+------------+------+--------------+--------------
     juvmrynv47ajpwrc_00016389_f28d6802_db75_43d6_8058_315783e9b1b2 | test_decoding | logical   |  16389 | postgres | f      |            |      |    148271120 | 8DF/B292FB48
    (1 row)
EN

回答 3

Stack Overflow用户

发布于 2019-12-12 21:17:57

在我们的例子中,活动事务导致了这种失败。因此,当DMS任务在故障后或手动恢复时,它将尝试创建一个不需要源数据库上任何活动事务的虚拟复制槽,默认情况下,DMS将等待10分钟以完成活动事务,然后任务将失败,并显示以下错误。

代码语言:javascript
复制
2019-09-02T06:48:10 [SOURCE_CAPTURE  ]E:  RetCode: SQL_ERROR  SqlState: 57014 NativeError: 1 Message: ERROR: canceling statement due to statement timeout;
Error while executing the query [1022502]  (ar_odbc_stmt.c:2581)

解决方案-

  • 将任务设置TransactionConsistencyTimeout从600秒增加到1800秒。
  • 检查复制实例是否消耗了太多内存。
  • 在任务设置中启用调试模式并获取有关失败的更多详细信息-

"LogComponents":{ "Id":"SOURCE_UNLOAD","Severity":"LOGGER_SEVERITY_DETAILED_DEBUG“},{ "Id":"SOURCE_CAPTURE","Severity":"LOGGER_SEVERITY_DETAILED_DEBUG”},{ "Id":"TARGET_LOAD","Severity":"LOGGER_SEVERITY_DETAILED_DEBUG“},{ "Id":"TARGET_APPLY","Severity":"LOGGER_SEVERITY_DETAILED_DEBUG“},{ "Id":"TASK_MANAGER","Severity":"LOGGER_SEVERITY_DETAILED_DEBUG”}

票数 2
EN

Stack Overflow用户

发布于 2020-01-02 12:28:53

我正面临着与OP描述的相同的错误。对我来说,我运行的环境是:-使用DMS版本3.1.4 -使用目标和源作为Postgresql Aurora 10.7

后来在https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html上查看设置这个版本的文档时,发现实际上对于Postgres版本大于10,我必须使用dms3.3.0以后的版本。

更改版本以使其正常工作,因此请确保在来此处之前检查了Amazon的文档:)

票数 2
EN

Stack Overflow用户

发布于 2021-12-01 14:38:20

通过更新rds.logical_replication设置,我找到了这个问题的解决方案。执行此操作的步骤如下- Replication Slots error while replicating data from RDS Postgres(read replica) to Redshift using AWS DMS

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56625193

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档