26 lines
895 B
Bash
Executable File
26 lines
895 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -Eeuo pipefail
|
|
|
|
log() { echo "[$(date -u +'%Y-%m-%dT%H:%M:%SZ')] $*"; }
|
|
fail() { echo "ERROR: $*" >&2; exit 1; }
|
|
|
|
: "${DB_HOST:?DB_HOST required}"
|
|
: "${DB_PORT:?DB_PORT required}"
|
|
: "${DB_NAME:?DB_NAME required}"
|
|
: "${DB_USER:?DB_USER required}"
|
|
: "${DB_PASS:?DB_PASS required}"
|
|
|
|
export PGPASSWORD="$DB_PASS"
|
|
|
|
log "Verifying DB connectivity and pgvector extension in '$DB_NAME'"
|
|
|
|
# Connectivity check
|
|
psql -U "$DB_USER" -h "$DB_HOST" -p "$DB_PORT" -d "$DB_NAME" -tAc "SELECT 1" >/dev/null 2>&1 || fail "Cannot connect to database '$DB_NAME'"
|
|
|
|
# pgvector check
|
|
HAS_VECTOR=$(psql -U "$DB_USER" -h "$DB_HOST" -p "$DB_PORT" -d "$DB_NAME" -tAc "SELECT 1 FROM pg_extension WHERE extname='vector'" | tr -d '[:space:]')
|
|
if [[ "$HAS_VECTOR" != "1" ]]; then
|
|
fail "pgvector extension not found in '$DB_NAME'"
|
|
fi
|
|
|
|
log "Verification OK: DB reachable and pgvector extension present." |