Reputation: 195
I've encountered into a connection issue between PostgreSQL 15 and Navicat 15.
My environment is:
How to produce:
Expected:
Should be able to open the connection.
Actual:
It says the following message on an error dialog.
ERROR: column "datlastsysoid" does not exist
LINE 1: SELECT DISTINCT datlastsysoid FROM pg_database
Upvotes: 15
Views: 27741
Reputation: 340
To supplement the manual fix on macOS, follow these steps:
Contents -> Frameworks
.libcc-premium.dylib
and create a backup named libcc-premium.dylib.old
.libcc-premium.dylib
with a HEX editor (you can use an online tool such as https://hexed.it/).datlastsysoid
with dattablespace
, hex code is 6461747461626c657370616365
.libcc-premium.dylib
and place it back in the original folder.codesign
to re-sign the file, otherwise, you won't be able to open the application. Use the following command to sign the file:
codesign --deep --force --verify --verbose --sign - libcc-premium.dylib
replace datlastsysoid
with dattablespace
as shown in the image below.
Upvotes: 4
Reputation: 21
I had the same problem because they used navicat 15, but as soon as I changed to version 16 that error disappeared. Change version and that's it!
Upvotes: 2
Reputation: 1065
Postgres 15 removed datlastsysoid field from pg_database table, so any version prior to Navicat 15.0.29 or 16.1 will raise this error while looking for this deprecated field.
To fix this, either upgrade to the latest Navicat 15.0.29 or 16.1 and up (might require new license), or do this:
Enjoy!
Upvotes: 36
Reputation: 2973
The error goes away if you upgrade to latest Navicat version. Version 16.1.5 definitely fixes this issue.
Upvotes: 6