マネージドDBサービスは使える拡張が限られるため、そのようなケースではKubernetes上でCloudNativePG(Operator)を使って運用すると便利です。
本発表ではKubernetesを触ったことのなかった私が、CloudNativePG上でPostgreSQLの拡張機能(PGroonga)を動かすために試した3つの方法を共有します。
1. 拡張も含め全部コミコミの独自ビルドイメージを使う
2. 拡張も含め全部コミコミの公式ビルドイメージを使う
3. ImageVolumeで拡張機能だけを別イメージとして渡す(PostgreSQL 18の新方式)
pgvectorはImageVolume用のイメージが用意されているので簡単に導入できましたが、PGroongaには用意がなく自分で作る必要がありました。依存ライブラリを調べて約60個を同梱する、といった作業です。
ImageVolumeならコミコミのイメージよりサイズを抑えられるメリットや、どのような対応が必要でどう導入するのかを、うまくいかなかった点も含めてまとめます。
株式会社クリアコード
ソフトウェアエンジニア
Software engineer in Japan.
Working on FOSS development, especially full-text search.