やること
エンジンバージョンのアップグレードをする。
・アップグレード前
9.5.9-R1
・アップグレード後
9.6.19-R1
データは空の状態とする。
こけたところをメモ。
作業内容
まず公式サイトを確認する。
・DB インスタンスのエンジンバージョンのアップグレード
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Upgrading.html
DB インスタンスのエンジンバージョンを手動でアップグレードするには、AWS マネジメントコンソール、AWS CLI または RDS API を使用する。
データベースの作成
↑12.3より古いバージョンのPostgreSQLエンジンは、最新のm6gまたはr6g世代のインスタンスクラスをサポートしていません。と表示されるが、特に使わないのでOK。
無料利用枠を選択。
db.t2.microを選択。SSDは5GBとする。
後ほどEC2から接続する可能性を考え、テスト用のVPCを作成。
サブネットが2つ無いとエラーが出るのでVPCにサブネットを2つ作成しておく。
バックアップは無し、マイナーバージョン自動アップグレードのチェックを外す。
作成された。
公式でModifyをクリックとあるが、日本語版だと変更ボタンになる。
スナップショット作成しておく
バージョン変更前にEC2から接続してみる。
・参考
Amazon LinuxからPostgreSQL(RDS)へ接続する
https://qiita.com/panasan/items/634ad5ad895f0c9e5bd0
やり方
yumでpostgresqlのclientモジュールをインストールする。
モジュール確認
$ yum list | grep postgre freeradius-postgresql.x86_64 3.0.13-10.amzn2 amzn2-core pcp-pmda-postgresql.x86_64 3.12.2-5.amzn2 amzn2-core postgresql.x86_64 9.2.24-1.amzn2.0.1 amzn2-core postgresql-contrib.x86_64 9.2.24-1.amzn2.0.1 amzn2-core postgresql-devel.x86_64 9.2.24-1.amzn2.0.1 amzn2-core postgresql-docs.x86_64 9.2.24-1.amzn2.0.1 amzn2-core postgresql-jdbc.noarch 9.2.1002-8.amzn2 amzn2-core postgresql-jdbc-javadoc.noarch 9.2.1002-8.amzn2 amzn2-core postgresql-libs.i686 9.2.24-1.amzn2.0.1 amzn2-core postgresql-libs.x86_64 9.2.24-1.amzn2.0.1 amzn2-core postgresql-odbc.x86_64 09.03.0100-2.amzn2.0.2 amzn2-core postgresql-plperl.x86_64 9.2.24-1.amzn2.0.1 amzn2-core postgresql-plpython.x86_64 9.2.24-1.amzn2.0.1 amzn2-core postgresql-pltcl.x86_64 9.2.24-1.amzn2.0.1 amzn2-core postgresql-server.x86_64 9.2.24-1.amzn2.0.1 amzn2-core postgresql-static.x86_64 9.2.24-1.amzn2.0.1 amzn2-core postgresql-test.x86_64 9.2.24-1.amzn2.0.1 amzn2-core postgresql-upgrade.x86_64 9.2.24-1.amzn2.0.1 amzn2-core qt-postgresql.i686 1:4.8.5-15.amzn2.0.4 amzn2-core qt-postgresql.x86_64 1:4.8.5-15.amzn2.0.4 amzn2-core qt5-qtbase-postgresql.i686 5.9.2-3.amzn2.0.2 amzn2-core qt5-qtbase-postgresql.x86_64 5.9.2-3.amzn2.0.2 amzn2-core
クライアントモジュールのインストール
PostgreSQLとpostgresql-clientのバージョンは合わせる必要があるらしい。
https://qiita.com/tubutubu_mustard/items/24235ab5260d3f8e42dc
こちらを参考に進める。
下記も参考
https://zatoima.github.io/aws-ec2-psql-install.html
yum searchでPostgreSQL client programsを探す
実行結果からpostgresql.x86_64
がPostgreSQL client programs
と判明。
$ sudo yum install postgresql.x86_64 読み込んだプラグイン:extras_suggestions, langpacks, priorities, update-motd amzn2-core | 3.7 kB 00:00:00 依存性の解決をしています --> トランザクションの確認を実行しています。 ---> パッケージ postgresql.x86_64 0:9.2.24-1.amzn2.0.1 を インストール --> 依存性の処理をしています: postgresql-libs(x86-64) = 9.2.24-1.amzn2.0.1 のパッケージ: postgresql-9.2.24-1.amzn2.0.1.x86_64 --> 依存性の処理をしています: libpq.so.5()(64bit) のパッケージ: postgresql-9.2.24-1.amzn2.0.1.x86_64 --> トランザクションの確認を実行しています。 ---> パッケージ postgresql-libs.x86_64 0:9.2.24-1.amzn2.0.1 を インストール --> 依存性解決を終了しました。 依存性を解決しました ======================================================================================================== Package アーキテクチャー バージョン リポジトリー 容量 ======================================================================================================== インストール中: postgresql x86_64 9.2.24-1.amzn2.0.1 amzn2-core 3.0 M 依存性関連でのインストールをします: postgresql-libs x86_64 9.2.24-1.amzn2.0.1 amzn2-core 235 k トランザクションの要約 ======================================================================================================== インストール 1 パッケージ (+1 個の依存関係のパッケージ) 総ダウンロード容量: 3.3 M インストール容量: 17 M Downloading packages: (1/2): postgresql-libs-9.2.24-1.amzn2.0.1.x86_64.rpm | 235 kB 00:00:00 (2/2): postgresql-9.2.24-1.amzn2.0.1.x86_64.rpm | 3.0 MB 00:00:00 -------------------------------------------------------------------------------------------------------- 合計 21 MB/s | 3.3 MB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction インストール中 : postgresql-libs-9.2.24-1.amzn2.0.1.x86_64 1/2 インストール中 : postgresql-9.2.24-1.amzn2.0.1.x86_64 2/2 検証中 : postgresql-9.2.24-1.amzn2.0.1.x86_64 1/2 検証中 : postgresql-libs-9.2.24-1.amzn2.0.1.x86_64 2/2 インストール: postgresql.x86_64 0:9.2.24-1.amzn2.0.1 依存性関連をインストールしました: postgresql-libs.x86_64 0:9.2.24-1.amzn2.0.1 完了しました!
PostgreSQLへ接続
$ psql -h <エンドポイント> -U <ユーザ名> -d <DB名>
$ psql -h <エンドポイント> -U <ユーザ名> -d <DB名> ユーザ postgres のパスワード: psql (9.2.24, サーバー 9.5.9) 注意: psql バージョン 9.2, サーバーバージョン 9.5. psql の機能の中で、動作しないものがあるかもしれません。 SSL 接続 (暗号化方式: ECDHE-RSA-AES256-GCM-SHA384, ビット長: 256) "help" でヘルプを表示します. posgre_database=>
psql の機能の中で、動作しないものがあるかもしれません。と注意されてしまった。
リポジトリをインストールする必要あり。Accessing to the PostgreSQL RPM Repositories こちらのページから対象バージョンのURLを確認。
参考URL
https://dev.classmethod.jp/articles/how-to-install-postgresql93-to-amazon-linux-2/
psql クライアントを使う
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_ConnectToPostgreSQLInstance.html
現在のバージョン確認
$ psql --version<br>psql (PostgreSQL) 9.2.24
バージョン合わせる場合
https://qiita.com/SOJO/items/a1d97887d24c3e44596f