解决Navicat连接postgresql时出现‘datlastsysoid does not exist‘报错的问题
师姐的任务罢了。伟大的师姐大人周四降下圣旨要求我把数据库可视化看一下,我诚惶诚恐,当晚就开始玩游戏拖就硬托,于是师姐大人对我的懒惰降下了惩罚——这个该死的bug。
在国内网查了挺久,发现一个很有意思的现象,不同博客网站不同博主居然都不约而同地对这个问题发表过内容一模一样的文章,这到底是人性的泯灭还是...算了不废话了
问题就是postgresql在15版本时删掉了datlastysoid这个列,但是旧版本的navicat加载脚本还不知道postgresql已经背叛了组织,还在傻傻地select distinct datlastsysoid,那么肯定就报错了。
最简单的解决方法就是直接更新navicat,亲测用神奇方法激活的navicat在软件内弹出的更新提示中更新到15.0.29版本后,激活状态不会损失。但是更新到16版本就没试过了,有勇敢牛牛型朋友可以尝试一下。
如果不能更新navicat(why?没网络还是...),可以参考stackoverflow的这篇文章修改navicat的加载脚本https://stackoverflow.com/questions/74773611/cannot-open-connection-after-connecting-to-postgres-15-using-navicat-premium
同样是亲测可用。