PostgreSQLの各バージョンについて、Dockerイメージとクラウドのマネージドサービスがどの程度サポートしているかを確認する。
Dockerイメージ
Dockerイメージとしてどのバージョンが提供されているかを調べた。Docker hubでは古いバージョンから最新の15までを提供していた。
Repo | Account | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 |
---|---|---|---|---|---|---|---|---|---|
hub.docker.com | _(Official)1 | o | o | o | o | o | o | o | o |
マネージドサービス
主要クラウドベンダーが提供するマネージドのPostgreSQLを使用できるサービスについて、どのバージョンをサポートしているのかをまとめた。9.6から14までのバージョンを多くのプロダクトがサポートしていた。最新の15についてはサポートしているものはなかった。Azure Databaseについては若干古めのバージョンしかサポートしていなかった。AlloyDBについてはPostgreSQL 14互換とクラウドコンソール上に表示さている。この互換が完全に互換なのか、一部制限ありなのかについては分からなかった。互換があると言っても、どの程度互換があるかはモノや状況によって異なる2 。他のバージョンについてのAlloyDBの対応は分からなかった。
Vendor | Product | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 |
---|---|---|---|---|---|---|---|---|---|
Cloud SQL3 | x | o | o | o | o | o | o | x | |
AlloyDB | ? | 互換あり | ? | ? | ? | ? | ? | ? | |
Amazon | RDS4 | x | o | o | o | o | o | o | x |
Amazon | Aurora5 | x | o | o | o | o | o | o | x |
Microsoft | Azure Database6 | x | x | x | x | o | o | o | x |
2
例えばTiDBはMySQLと互換があるが一部制限があるため、完全にMySQLで動作していたSQLを用いてもエラーすることはある。詳しくは「DjangoでTiDBを使うために立ちはだかる壁をむりやり突破する」に記述した。