#!/usr/bin/env bash
# Start the local user-space PostgreSQL for ZPT development.
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
PG_ROOT="$ROOT/.tools/pgsql-root"
PG_BIN="$PG_ROOT/usr/lib/postgresql/14/bin"
PG_DATA="$ROOT/.tools/pgdata"
PG_RUN="$ROOT/.tools/pg-run"
export LD_LIBRARY_PATH="$PG_ROOT/usr/lib/x86_64-linux-gnu:${LD_LIBRARY_PATH:-}"

mkdir -p "$PG_RUN"

if [[ ! -d "$PG_DATA" ]]; then
  echo "No data directory at $PG_DATA — run scripts/pg-init.sh first."
  exit 1
fi

if "$PG_BIN/pg_ctl" -D "$PG_DATA" status >/dev/null 2>&1; then
  echo "PostgreSQL already running (port 5433)."
  exit 0
fi

"$PG_BIN/pg_ctl" -D "$PG_DATA" -l "$PG_RUN/postgres.log" start
"$PG_BIN/pg_isready" -h 127.0.0.1 -p 5433
echo "PostgreSQL started on 127.0.0.1:5433"
