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:
|
services:
|
||||||
postgres:
|
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
|
container_name: tia-postgres
|
||||||
environment:
|
environment:
|
||||||
POSTGRES_DB: tia_dev
|
POSTGRES_DB: tia_dev
|
||||||
|
|
@ -11,7 +14,9 @@ services:
|
||||||
ports:
|
ports:
|
||||||
- "5433:5432"
|
- "5433:5432"
|
||||||
volumes:
|
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
|
- ./docker/init-db:/docker-entrypoint-initdb.d
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD-SHELL", "pg_isready -U tia -d tia_dev"]
|
test: ["CMD-SHELL", "pg_isready -U tia -d tia_dev"]
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue