chore(dev): align dev Postgres to pg18 matching production
Production runs Postgres 18; the dev compose file pinned pg16. A pg_dump from prod (v18) cannot be restored by a v16 pg_restore — the dump header is rejected. Matching the major version fixes restores and removes a latent source of dev/prod behaviour drift. Also adopts the pg18 image's data-directory convention: the volume now mounts at /var/lib/postgresql (the image places data in a version subdirectory), and drops the obsolete compose 'version' key.
This commit is contained in:
parent
9b9b551463
commit
c4304615ec
1 changed files with 9 additions and 4 deletions
|
|
@ -1,8 +1,11 @@
|
|||
version: '3.8'
|
||||
|
||||
# Local development services for Tia (Postgres + Redis).
|
||||
# Postgres major version is pinned to match production.
|
||||
services:
|
||||
postgres:
|
||||
image: pgvector/pgvector:pg16
|
||||
# pg18 to match production (Hetzner prod runs Postgres 18).
|
||||
# Keeping dev on the same major version avoids dump/restore mismatches
|
||||
# and version-specific behaviour drift.
|
||||
image: pgvector/pgvector:pg18
|
||||
container_name: tia-postgres
|
||||
environment:
|
||||
POSTGRES_DB: tia_dev
|
||||
|
|
@ -11,7 +14,9 @@ services:
|
|||
ports:
|
||||
- "5433:5432"
|
||||
volumes:
|
||||
- ./data/postgres:/var/lib/postgresql/data
|
||||
# pg18 image convention: mount at /var/lib/postgresql (NOT .../data).
|
||||
# The image places data in a version-specific subdirectory under it.
|
||||
- ./data/postgres:/var/lib/postgresql
|
||||
- ./docker/init-db:/docker-entrypoint-initdb.d
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U tia -d tia_dev"]
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue