EC2の中で、もとにした何かがどうなのかよくわからないが、psqlのバージョンが古くてRDSにちゃんとつながらないことがある。
ちゃんとつながらないというか、SQLは打てるのだが
\d tablename-foo
のように してテーブルの情報を見ようとした場合などにサーバーとのバージョン違いでエラーの旨のメッセージが出て微妙に不便という状態。
で、PostgreSQLのクライアントをアップデートしたいのだが、Linuxに慣れてはいないので検索するとrpmのリポジトリがどうとかという面倒な手順が出てきて、ちょっとやってみたけどエラーで引っかかったりして困ったのだが・・・
結局は、以下の公式に書いてある手順で簡単にアップデートできた。
https://aws.amazon.com/jp/amazon-linux-2/faqs/#Amazon_Linux_Extras
具体的には以下の通り。簡単。
現在のバージョンと入っているものを確認
$ sudo yum list installed | grep postgres
postgresql.x86_64 9.2.24-8.amzn2 @amzn2-core
postgresql-libs.x86_64 9.2.24-8.amzn2 @amzn2-core
アンインストール
$ sudo yum remove postgresql
※ アンインストールは上記ページに辿り着く前に実行してしまったので、必要だったのかはよくわからない。ただ、しておいて損もないだろう。
$ sudo amazon-linux-extras | grep postgresql
6 postgresql10 available [ =10 =stable ]
41 postgresql11 available [ =11 =stable ]
58 postgresql12 available [ =stable ]
59 postgresql13 available [ =stable ]
63 postgresql14 available [ =stable ]
あったので、実際インストールをする。
$ sudo amazon-linux-extras install postgresql13
すぐに終わり、再度psqlを利用したら\dのコマンドでテーブル情報も確認できるようになった。めでたしめでたし。