PostgreSQL 求めてクラウドジャーニー
クラウドで提供されている PostgreSQL 由来のデータベースサービスを「浅く」「広く」体験した日記です。
ぬこのたのしいぽすぐれ教室
- 2026年03月31日公開

はじめに
はじめまして。NTTテクノクロス PostgreSQL チームの世話役の北角 (きたかく)です。
PostgreSQL 由来の Database as a Service (以下、DBaaS) がいろいろあることはご存知と思います。
今日は、そんな PostgreSQL 互換 DBaaS を求めて、クラウドを散歩することにします。
やることは2つだけ、データベースを作成して起動すること、psql (PostgreSQL用のコマンドラインツール) でデータベースに接続してSQLを実行させてみること、です。
Google Cloud
まずは、Google Cloud にやってきました。
Cloud SQL for PostgreSQL
Cloud SQL for PostgreSQL は、2018年7月から続くマネージドデータベースサービスです。
基本のキとして、Cloud SQL for PostgreSQL のデータベースを作成してみます。とりあえず動けばよいのであれば、数項目の入力・選択でデータベースインスタンスを起動することができます。簡単ですね。
データベースが起動したら、psql コマンドで接続してみたいと思います。これも簡単で、先ほど作成したインスタンスを選択すると「このインスタンスとの接続」という項目がありますので、その中にある「gcloudを使用して接続するには... Cloud Shell を開く」をクリックします。すると Cloud Shell が起動し、Enterの後、先に設定したパスワードを入力すれば、psql コマンドでデータベースに接続できます。
me@cloudshell:~ (xxxx-yyyy-123456)$ gcloud sql connect free-trial-first-project --user=postgres --quiet
Starting Cloud SQL Proxy: [/usr/bin/cloud-sql-proxy xxxx-yyyy-123456:zzzz:free-trial-first-project --port 9470]
Connecting to database with SQL user [postgres].Password:
psql (16.13 (Ubuntu 16.13-1.pgdg24.04+1), server 18.3)
WARNING: psql major version 16, server major version 18.
Some psql features might not work.
Type "help" for help.
postgres=>
psql が起動しましたので、何か SQL を実行してみたいと思います。とは言っても、テーブルを作成してないので、SELECT version(); を実行することにします。SELECT version() で、PostgreSQL のバージョン、OSやコンパイラの情報が確認できます。
postgres=> SELECT version();
version
-----------------------------------------------------------------------------------------
PostgreSQL 18.3 on x86_64-pc-linux-gnu, compiled by Debian clang version 12.0.1, 64-bit
(1 row)
コンパイラは Debian clang を使っているようですね。 続いて、設定ファイルの置き場所を確認してみます。
postgres=> SELECT DISTINCT sourcefile FROM pg_settings;
sourcefile
----------------------------------
/pgsql/data/postgresql.conf
/pgsql/data/postgresql.auto.conf
(3 rows)
なるほど、/pgsql/data というディレクトリに配置されてますね。DBaaS なので直接ファイルに触れるわけではないですが、少しだけ中身をかいま見た気になれます。
AlloyDB for PostgreSQL
次は AlloyDB を覗いてみたいと思います。
AlloyDB for PostgreSQL は、PostgreSQL 互換のフルマネージドデータベースで、2022年12月に一般提供が開始されました。分析クエリの高速化、トランザクション処理での高いパフォーマンスが特長です。
AlloyDB のデータベース作成もそんなに難しくありませんので、さくっとインスタンスを起動しました。AlloyDB には「AlloyDB Studio」という GUI があるので、そこから SQL を実行してもよいのですが、 psql コマンドにこだわってみます。 以下のドキュメントに従って、psql コマンドで接続できました。
https://docs.cloud.google.com/alloydb/docs/quickstart/connect-cloud-shell?hl=ja
Cloud SQL の時と同様の SQL を実行してみます。
postgres=> SELECT version();
version
-----------------------------------------------------------------------------------------
PostgreSQL 17.7 on x86_64-pc-linux-gnu, compiled by Debian clang version 12.0.1, 64-bit
(1 row)
postgres=> SELECT DISTINCT sourcefile FROM pg_settings;
sourcefile
--------------------------------------------
/mnt/disks/pgsql/data/postgresql.auto.conf
/mnt/disks/pgsql/data/postgresql.conf
(3 rows)
バージョンはお任せにしてたので PostgreSQL 17 になってますが、18 も選べます。 設定ファイルの置き場所が /mnt/... になっていて、高性能な分散ストレージをマウントしているんだろうなぁと想像を巡らせました。
AlloyDB の特長である分析クエリの高速化などを実感したいところですが、それは別の機会にします。30日間の無料トライアルもある(2026年3月現在)ので、皆さんも試してみてはいかがでしょうか。
Microsoft Azure
続いて、Microsoft Azure にやってきました。
Azure Database for PostgreSQL
Azure Database for PostgreSQL は、2018年3月より一般提供され、2021年11月には Flexible Server がリリースされて現在に至ってます。
早速、データベースを作成してみます。設定項目にとまどいながらも、データベースインスタンスを起動できました。Cloud Shell から psql を起動して、データベースに接続します。
postgres=> SELECT version();
version
------------------------------------------------------------------------------
PostgreSQL 18.2 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 13.2.0, 64-bit
(1 row)
postgres=> SELECT DISTINCT sourcefile FROM pg_settings;
sourcefile
--------------------------------------------------------------------
/datadrive/pg/data/conf.d/080-telemetry-dimensions.conf
/datadrive/pg/data/conf.d/postgresql.certoverrides.conf
/datadrive/pg/data/postgresql.conf
/datadrive/pg/data/conf.d/030-user-supplied-server-parameters.conf
/datadrive/pg/data/conf.d/000-instance-settings.conf
/datadrive/pg/data/conf.d/999-final-platform-overrides_18.conf
(7 rows)
設定ファイルはいくつかに分割されてますね。
続いて、Azure Cosmos DB for PostgreSQL にも立ち寄ろうかと思ったのですが、「提供終了パスにある」とのことなので、見送りました。機会があれば、Neon Serverless Postgres や Azure HorizonDB for PostgreSQL にもいどみたいと思いつつ、Azure を後にします。
Amazon Web Services
さて、大御所の Amazon Web Services にやってきました。
Amazon RDS for PostgreSQL
Amazon RDS for PostgreSQL は、2013年11月に一般提供が開始されたそうです。ここまで見た中では一番の古株ですね。
では、データベースを作成してみます。「データベース作成方法」で「簡単に作成」を選べば、2~3クリックでデータベースが作成できちゃいますね。無料利用枠もあって、今回の用途にはぴったりです。
データベースを作成したら、「接続とセキュリティ」で「クラウドシェル」を選択して、「クラウドシェルを起動」をクリックするだけで、Cloud Shell 上で psql コマンドが実行されます。
postgres=> SELECT version();
version
--------------------------------------------------------------------------------------------------------------
PostgreSQL 18.3 on aarch64-unknown-linux-gnu, compiled by aarch64-unknown-linux-gnu-gcc (GCC) 12.4.0, 64-bit
(1 row)
postgres=> SELECT DISTINCT sourcefile FROM pg_settings;
sourcefile
-----------------------------------
/rdsdbdata/config/postgresql.conf
(2 rows)
Amazon Aurora PostgreSQL
Amazon Aurora PostgreSQL は、2017年10月に一般提供が開始された PostgreSQL 互換のマネージドデータベースです。MySQL 版が先行していましたが、コンピュートとストレージを分離し、高いパフォーマンスとスケーラビリティを実現しています。
個人的には2017年頃からクラウドサービスに触れるようになっていたので、Aurora PostgreSQL の正式リリースを今か今かと待っていたのが思い出されます。そんな古い話は置いておいて、先に進みましょう。
Aurora も、ユーザインタフェースが RDS と統合されているので、データベースの作成や操作は容易です。
postgres=> SELECT version();
version
--------------------------------------------------------------------------------------------------------------
PostgreSQL 17.4 on aarch64-unknown-linux-gnu, compiled by aarch64-unknown-linux-gnu-gcc (GCC) 10.5.0, 64-bit
(1 row)
postgres=> SELECT DISTINCT sourcefile FROM pg_settings;
sourcefile
-----------------------------------
/rdsdbdata/config/postgresql.conf
(2 rows)
設定ファイルの置き場所も RDS と同じですね。
おわりに
次は、Oracle Cloud Infrastructure(OCI)の OCI Database with PostgreSQL に行くはずだったのですが、ここで時間切れとなりました。
NTTテクノクロスでは、本家 PostgreSQL だけでなく、各種の PostgreSQL 互換 DBaaS のノウハウを蓄積しております。PostgreSQL 界隈でお困りごとがありましたら、お気軽にご相談ください。
PostgreSQLのことならNTTテクノクロスにおまかせください!
NTTテクノクロス株式会社ではPostgreSQLに関する各種のお問い合わせや、移行に関する対応を受け付けています。
オンプレだけではなく、Azure、AWSなどのクラウド上でのシステムの導入、開発、維持管理のご相談もお待ちしております。

NTTテクノクロス株式会社
IOWNデジタルツインプラットフォーム事業部
第三ビジネスユニット

