環境
pgAdmin4 v3 (Windows10)
psql (PostgreSQL) 12.10 (Ubuntu 12.10-1.pgdg20.04+1)
内容
pgAdminからPostgreSQLに接続して、テーブルを表示しようとするとエラーが表示されて、表示ができませんでした。
error fetching sql for script column rel.relhasoides does not exit
エラーの内容は、relhasoidesという名前のカラムが存在しませんというエラーです。いろいろとググってみたところ、サーバー側のPostgreSQLのバージョンに対して、pgAdminのバージョンが古いと、このようなエラーが表示されるようです。
relhasoidsという名前のカラムは、pg_classというシステムカタログに、以前は存在していたが、削除されたという過去を持っています。バージョン11までは存在していたが、バージョン12から削除されています。
エラーが出るということは、現状のpgAdmin4 v3は、バージョン12以降に対応していないということなので、バージョンを上げる必要があります。どのバージョンから対応しているのかについては、ぐぐっても情報が見つからなかったため、手っ取り早く、最新版をインストールすることにしました。2022年1月30日時点での最新版は、pgAdmin4 v6.19です。
ダウンロード
PostgreSQLの公式サイトです。
https://www.postgresql.org/
pg_classの確認
pg_classカタログにrelhasoidsカラムは本当に存在しないのか、次のコマンドで確認することができます。\dは、テーブルの列一覧を取得するコマンドです。
\d pg_class
pg_classを直接表示させても確認ができます。
select * from pg_class