こんにちは。外部の AWS RDS インスタンス(PostgreSQL 11.x)を指す環境を設定しています。
UI からバックアップを実行しようとすると、以下のエラーが発生します。
[2019-10-25 21:50:35] データベースの public スキーマをダンプしています...
[2019-10-25 21:50:35] pg_dump: サーバーバージョン: 11.5; pg_dump バージョン: 10.10 (Debian 10.10-1.pgdg100+1)
[2019-10-25 21:50:35] pg_dump: サーバーバージョンの不整合により中止しました
これは、Docker コンテナ内の pg_dump バージョンと、外部 RDS データベースのバージョンが一致していないことが原因だと思われます。この問題に対処する方法について、ご提案はありますか?11.x ではない外部データベースを使用するべきでしょうか?
Falco
(Falco)
2
現在サポートされている PostgreSQL のバージョンは 10.x です。次のリリースサイクルで 12.x へのアップグレードを予定しています。
GavinGCP
(Gavin)
3
Google Cloud Platform はデフォルトで Postgres 11 を提供しています。バージョン 10 は「ベータ」としてのみ利用可能です。
11.x へのサポートはいつ提供される見込みですか?
Falco
(Falco)
4
数ヶ月以内に 12.x への移行を予定しています。11.x はスキップされます。
GavinGCP
(Gavin)
5
Postgres 11 へのデプロイは既に完了しています。
引き続き利用することは可能でしょうか?
動作しないのはバックアップ機能だけでしょうか?
エクスポート/インポートが不可能な場合、10 へダウングレードするにはどうすればよいでしょうか?
Falco
(Falco)
6
PostgreSQLは機能の動作維持に非常に堅牢で、機能を安易に削除しないため、コンテナ内の pg_dump のバージョンに依存するバックアップとリストアを除き、動作するはずです。
当社はこれを実行せず、テストも行っていないため、問題が発生した場合は自己責任となります。
reidab
(Reid Beels)
7
私どもも同じ状況でした。ドキュメント で Postgres 10 以上が必要とされていたため、GCP 管理型 Postgres 11 をデプロイしていました。
最終的には、ブートストラップにカスタムコマンドを追加して PG 11 のクライアントツールをインストールし、デフォルトで pg_dump がそのバージョンを使用するように切り替えました。
- exec:
cmd:
- apt-get update && apt-get install postgresql-client-11 && update-alternatives --install /usr/bin/pg_dump pg_dump /usr/lib/postgresql/11/bin/pg_dump 1
sam
(Sam Saffron)
8
これは妥当な回避策です。公式イメージ内の PostgreSQL を今後数ヶ月以内にバージョン 12 にアップグレードする予定です。
Falco
(Falco)
9
PostgreSQL 12 update にて PostgreSQL 12 の更新が公開されました。これは AWS RDS で利用可能です。