Navicat15链接PostgreSQL数据库时报错【column "datlastsysoid" does not exist... 】的解决办法
## 报错详情 如果你使用 `Navicat15` 链接 `PostgreSQL` 数据库时,报了如
渲染中...
## 报错详情 如果你使用 `Navicat15` 链接 `PostgreSQL` 数据库时,报了如下错误: ```console ERROR: column "datlastsysoid" does not exist LINE 1: SELECT DISTINCT datlastsysoid FROM pg_database ``` 不要慌,这是软件的问题,不是你的问题! `Postgres15` 从 `pg_database` 表中删除了 `datlastsysoid` 字段,因此 `Navicat 15.0.29` 或 `16.1` 之前的任何版本在查找这个弃用的字段时都会引发此错误。 因此,解决办法如下: <!-- 文章内嵌广告位 --> <div class="article-ads"></div> <!-- more --> ## 方案1:更新Navicat > 这种方式最简单,但有风险。 要解决此问题,可以升级到最新的 `Navicat 15.0.29` 或 `16.1` 及更高版本,不过,这有可能导致你的激活方式失效,但是老狗尝试了离线激活方式不会影响,因此如果你是离线激活方式,基本可以放心更新到 `Navicat 15.0.29`。 **PS: 不敢保证昂,每个人的情况不同!请自行考虑是否升级!** > 另外提示,如果你有原软件的安装包和激活码,完全可以尝试升级一下,如果需要重新激活,大可以重新安装激活嘛。 如果你不想承担激活失效的风险,可以尝试下列较为复杂的解决办法: <!-- 文章内嵌广告位 --> <div class="article-ads"></div> ## 方案2:修改软件dll库文件 这种方案需要你修改 `Navicat` 软件编译后一个库文件,因此请备份好原库文件,防止软件无法使用!详细步骤如下: 1. 退出 `Navcat`; 2. 打开 `Navicat` 文件夹(通常在 `C:\Program Files\PremiumSoft\Navicat....` 下),取决于您的自己安装的 `Navicat` 路径; 3. 找到 `libcc.dll` 并创建此文件的备份(将其复制并粘贴为“`libcc-backup.dll`”或任何其他名称,请自行修改); 4. 在任何 `HEX` 编辑器中打开此文件,如果需要,您可以使用在线工具,例如 `https://hexed.it/` 。 5. 在文件中搜索“`SELECT DISTINCT datlastsysoid`”,并将其替换为“`SELECT DISTINCT dattablespace`” 6. 将文件保存在原始位置。如果遇到任何安全问题,请将其保存为“.txt”文件,然后将其重命名为“.dll” 7. 现在 `Navicat` 可以像以前一样工作了。如果您有 `ESET` 或其他安全工具,`dll` 文件可能会被锁定几分钟,以进行安全检查。请耐心等待,并在约 `5` 分钟后再次尝试...
END
评论
登录后查看和发表评论
前往登录