1.6 KiB
1.6 KiB
name, description, type
| name | description | type |
|---|---|---|
| TimescaleDB-HA Docker image facts | Empirically verified facts about timescale/timescaledb-ha used in TRM compose files | reference |
TimescaleDB-HA Docker image facts
CORRECTED after task 1.1 live boot (2026-05-01).
- Image pinned in TRM:
timescale/timescaledb-ha:pg16.6-ts2.17.2-all:pg16-latestdoes NOT exist on Docker Hub — it 404s at pull time.- The
-allsuffix here means "all extensions bundled" (TimescaleDB + PostGIS + more), NOT "all PG versions". - Always pin a concrete
pgX.Y-tsA.B.C-alltag; floating tags are unreliable for this image.
- PGDATA directory:
/home/postgres/pgdata/data- NOT
/pgdata, NOT/var/lib/postgresql/data. - Setting
PGDATA=/pgdataand mounting a volume to/pgdatacauses initdb to fail with "could not change permissions of directory". - compose.dev.yaml correctly sets
PGDATA: /home/postgres/pgdata/dataand mounts to the same path.
- NOT
- PostGIS: Binaries are bundled in the
-allimage but the extension is NOT auto-created on user databases.- Directus logs a benign warning:
PostGIS isn't installed. Geometry type support will be limited. - Must be created explicitly:
CREATE EXTENSION IF NOT EXISTS postgis;— lands in db-init Phase 2.
- Directus logs a benign warning:
- Environment variables:
POSTGRES_USER,POSTGRES_PASSWORD,POSTGRES_DB(same as official postgres image). - Healthcheck:
pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB(double-$ in compose YAML to escape interpolation). psql/pg_isreadyin the Directus container: Installed viaapk add --no-cache postgresql16-clientin the Dockerfile (task 1.1). Available on PATH at runtime.