PostgreSQL#
Lagoon PostgreSQL Dockerイメージ。公式PostgreSQL Alpineイメージをベースに作成されています。
サポートされているバージョン#
- 11 (互換性のためだけに利用可能、公式にはサポートされていません) -
uselagoon/postgres-11 - 12 Dockerfile (2024年11月までのセキュリティサポート) -
uselagoon/postgres-12 - 13 Dockerfile (2025年11月までのセキュリティサポート) -
uselagoon/postgres-13 - 14 Dockerfile (2026年11月までのセキュリティサポート) -
uselagoon/postgres-14 - 15 Dockerfile (2027年11月までのセキュリティサポート) -
uselagoon/postgres-15 - 16 Dockerfile (2028年11月までのセキュリティサポート) -
uselagoon/postgres-16
ヒント
Lagoonは、公式にアナウンスされた終了日(EOL)の後にリリースされるバージョンで、EOLに達したPostgreSQLイメージの更新を停止します。詳細はhttps://www.postgresql.org/support/versioningを参照して下さい。
Lagoonの適応#
Postgresコンテナのデフォルトの公開ポートはポート5432です。
LagoonがPostgresコンテナの実行方法を最適に選択できるようにするには、lagoon.type: postgresを使用します。これにより、DBaaSオペレーターは、クラスター内で利用可能な場合、クラウドデータベースをプロビジョニングできます。コンテナ内でPostgresを確実に実行したい場合は、lagoon.type: postgres-singleを使用してください。Postgresコンテナに対しては、永続ストレージが常に/var/lib/postgresql/dataにプロビジョニングされます。
docker-compose.yml スニペット#
docker-compose.yml
postgres:
image: uselagoon/postgres-14-drupal:latest
labels:
# LagoonにPostgresのデータベースであることを伝える
lagoon.type: postgres
ports:
# ポート5432をランダムなローカルポートで公開し、
# `docker-compose port postgres 5432`で見つけることができる
- "5432"
volumes:
# Postgres用のデフォルトパスに名前付きボリュームをマウントする
- db:/var/lib/postgresql/data
ヒント&コツ#
コンテナ起動直後にデータベースを初期化するためのSQLステートメントがある場合、それらの.sqlファイルをコンテナのdocker-entrypoint-initdb.dディレクトリに配置することができます。このディレクトリにある .sql ファイルは、PostgreSQLコンテナの起動時に自動的に実行され、データベースの初期化処理の一部として動作します。
警告
これらのスクリプトは、空のデータベースでコンテナが起動された場合にのみ実行されます。既存のデータベースに対しては動作しません。