コンテンツにスキップ

PostgreSQL#

Lagoon PostgreSQL Dockerイメージ公式PostgreSQL Alpineイメージを基にしています。

サポートされているバージョン#

  • 11 Dockerfile (2023年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 (11月までのセキュリティサポート) 2028) - 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を使用してください。永続的なストレージは常に、/var/lib/postgresql/dataでpostgresコンテナにプロビジョニングされます。

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コンテナを起動する一部として自動的に起動時に実行されます。

警告

これらのスクリプトは、コンテナが空のデータベースで開始された場合にのみ実行されます。