#!/bin/bash set -euo pipefail name=wm-mj _psql() { env \ PGPASSWORD=osm \ PGHOST=127.0.0.1 \ PGUSER=osm \ PGDATABASE=osm \ psql "$@" } _wait_for_postgres() { >&2 echo -n "Waiting for postgres" for _ in $(seq 240); do if _psql -qc '\q' 2>/dev/null; then >&2 echo " up" exit 0 fi >&2 echo -n . sleep 1 done >&2 echo " down" exit 1 } case ${1:-} in start) _psql -qc '\q' 2>/dev/null && exit 0 docker run -d --rm \ -p 127.0.0.1:5432:5432 \ -e POSTGRES_DBNAME=osm \ -e POSTGRES_USER=osm \ -e POSTGRES_PASSWORD=osm \ --name "$name" \ postgis/postgis:13-3.1-alpine \ -c log_statement=all _wait_for_postgres ;; stop) docker stop "$name" ;; *) _psql "$@" ;; esac