stud

study spacejunk
Log | Files | Refs | LICENSE

managedb (948B) - Raw


      1 #!/usr/bin/env bash
      2 
      3 _psql() {
      4     env \
      5         PGPASSWORD=osm \
      6         PGHOST=127.0.0.1 \
      7         PGUSER=osm \
      8         PGDATABASE=osm \
      9         psql "$@"
     10 }
     11 
     12 _wait_for_postgres() {
     13     >&2 echo -n "Waiting for postgres"
     14     for _ in $(seq 240); do
     15       if _psql -qc '\q' 2>/dev/null; then
     16           >&2 echo " up"
     17           exit 0
     18       fi
     19       >&2 echo -n .
     20       sleep 1
     21     done
     22     >&2 echo " down"
     23     exit 1
     24 }
     25 
     26 name=postgis-contours
     27 case ${1:-} in
     28     start)
     29         docker run -d --rm \
     30             -p 5432:5432 \
     31             -e POSTGRES_DBNAME=osm \
     32             -e POSTGRES_USER=osm \
     33             -e POSTGRES_PASSWORD=osm \
     34             --name "$name" \
     35             postgis/postgis:13-3.0-alpine
     36         _wait_for_postgres
     37         ;;
     38     stop)
     39         docker stop "$name"
     40         ;;
     41     "" | --)
     42         [[ $# -gt 1 ]] && shift
     43         _psql "$@"
     44         ;;
     45     *)
     46         >&2 echo "Unknown command: '$*'"
     47         exit 1
     48         ;;
     49 esac