Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01Cfo2K4u4rF18QsPXPFnytf
13 lines
665 B
Bash
Executable File
13 lines
665 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Starts a throwaway PostgreSQL on port 5433 with a database called "lab" (needs PostgreSQL binaries installed).
|
|
# Run as a non-root user. Adjust PGBIN for your platform.
|
|
set -euo pipefail
|
|
PGBIN="${PGBIN:-/usr/lib/postgresql/16/bin}"
|
|
DATA="${PGDATA_DIR:-/tmp/pg-lab/data}"
|
|
mkdir -p "$(dirname "$DATA")"
|
|
[ -d "$DATA" ] || "$PGBIN/initdb" -D "$DATA" -A trust -U postgres >/dev/null
|
|
"$PGBIN/pg_ctl" -D "$DATA" -o "-p 5433 -k /tmp" -l "$(dirname "$DATA")/pg.log" start
|
|
sleep 2
|
|
psql -h localhost -p 5433 -U postgres -tc "select 1 from pg_database where datname='lab'" | grep -q 1 \
|
|
|| psql -h localhost -p 5433 -U postgres -c "create database lab"
|