pgsql只读实例执行sql语句报错:

ERROR: canceling statement due to conflict with recovery

User query might have needed to see row versions that must be removed.

google查了下问题,大概原因是:主节点的相关表做了DDL或者DML,wal在备节点回放的时候,备节点的查询还在进行,如此就会发生冲突,强制退出备节点查询的语句,报出以上错误。

解决办法大概有以下办法:

1、设置hot_standby_feedback = on

默认情况下,主数据库是看不到从数据库上的查询操作的,设置hot_standby_feedback为on,可以防止主数据库的vacuum操作把从数据库查询需要的数据行给清除掉。但是这个方案可能会影响主数据库的性能,因为主数据库现在得考虑从数据库的查询,势必会是一种负担,如在pg官方文档中写道:Well, the disadvantage of it is that the standby can bloat the master, which might be surprisi

2、设置max_standby_streaming_delay,这个值设置大一些。
pg中有一个max_standby_streaming_delay参数,意思是从数据库replay主数据库操作可以等待的最长时间。默认是30s,将其设置为一个相对比较大的数,或者-1,也就是可以无限等待,可以在所有查询完成之后再replay主数据库的操作,这样长查询就不会被取消了。这个参数相比hot_standby_feedback,只会影响从服务区,对主服务区没影响,但是有可能会加大主从数据不一致。

step1和step2各有优缺点,目前pgsql的主从这块没有完美的方案,就看哪种场景比较合适自己业务,就选用哪一种场景了。

pgsql报错:User query might have needed to see row versions that must be removed.相关推荐

  1. navicat连接pgsql报错:authentication method 10 not supported

    navicat连接pgsql报错:authentication method 10 not supported 解决方案:找到pgsql的安装目录下的pg_hba.conf文件 用文本编辑器打开后做如 ...

  2. jpa Specification fetch查询报错,query specified join fetching, but the owner of the fetched association

    jpa Specification fetch查询报错,query specified join fetching, but the owner of the fetched association ...

  3. php数据库报错1046怎么解决,DZ报错MySQL Query Error Errno:1046错误的解决办法

    这篇文章主要为大家详细介绍了DZ报错MySQL Query Error Errno:1046错误的解决办法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴. DZ报 ...

  4. 关于mysql数据库的外键插入报错:Cannot add or update a child row: a foreign key constraint fails,完整性问题

    关于mysql的外键插入报错:Cannot add or update a child row: a foreign key constraint fails..... 首先确定sql语句的正确 然后 ...

  5. 用Python将excel数据插入到MySQL报错(1265, Data truncated for column ‘num‘ at row 1)

    作为一个小白,这是第一篇帖子. 希望记录自己一路走来遇到的问题,也希望大佬指正. 一.背景: 用Python将数据逐行插入到MySQL. 二.问题: 但在python运行时发现总是报错(1265, D ...

  6. mysql bingip,MySQL报错Ignoring query to other database的真正原因

    大家都知道报这个错的原因是忘了用户名前加-u这个参数造成的,比如是这样登录了MySQL # mysql -root -p (注意看,-root前面没有加u) 登录后,不管你执行什么命令,都会提示Ign ...

  7. Mysql删除重复数据并解决You can't specify target table 'xx' for update in FROM clause 报错与 query interrupted报错

    哇,这个问题在纠结了N个小时总算解决了! 解决方案: -- 在命令行方式中输入 delete from 表名 where id in (select id from (select id from 表 ...

  8. kafka-connect-jdbc 增加source报错:query may not be combined with whole-table copying settings

    kafka版本:0.10.2.0 kafka-connect-jdbc插件:10.3.3 增加一个MySQL表作为源监听数据变化. 配置: {"name": "mysql ...

  9. Presto客户端报错:Query failed (#20200815_082938_00004_a5yxe) in tmall-presto: Catalog hive does not exis

    运行Presto客户端时报错:Query failed (#20200815_082938_00004_a5yxe) in tmall-presto: Catalog hive does not ex ...

最新文章

  1. php写出个人所得税,PHP计算个人所得税示例【不使用速算扣除数】
  2. Socket的三个关联函数
  3. java-信息安全(十)-数字签名算法DSA
  4. /opt/hbase/conf 中不能启动hbase_浅谈Hbase在用户画像上的应用
  5. Devoxx 2012:Java 8 Lambda和并行性,第1部分
  6. python中分支结构包括哪些_python中的分支结构
  7. 单账户登录踢人 php,踢人下线
  8. java怎样下载maven资源库_下载Maven资源库文件
  9. 接口测试之json中的key获取
  10. vscode安装旧版本插件_2020 我在使用VScode时安装的插件(针对前端开花推荐)
  11. java 单例模式(饿汉模式和懒汉模式)
  12. 天书 kdb+之q语言
  13. 微信小程序毕业论文题目_SSM项目考勤签到管理系统+后台管理系统
  14. 领袖一般会采用什么方式?
  15. 雷神simplest_ffmpeg_player解析(一)
  16. 《活出生命的意义》读书笔记
  17. 深入研究Espresso的Idling Resource
  18. jenkins api使用_使用管理API和Jenkins作为IBM App Connect Professional部署自动化的持续集成引擎
  19. 归并排序 (递归 非递归)
  20. 就业协议服务器是什么意思,什么是就业协议

热门文章

  1. 性能可靠服务器虚拟化,服务器虚拟化下的网络变迁
  2. 计算机考试半角全角,全角和半角怎么切换?是什么意思?全角半角的区别
  3. moss部署学习入门及注意事项
  4. linuxprobe-脚本编写,循环语句,重定向
  5. 网络I/O与磁盘I/O
  6. 唠唠MySQL的join
  7. 万字长文,Java接地气日常编码技巧
  8. GA-BP遗传神经网络预测
  9. linux :ubuntu 实用软件
  10. 如何备份VMware虚拟磁盘文件并移植到其他虚拟机