osrm-backend/third_party/mason/scripts/postgis/2.2.2/test.sh

68 lines
1.9 KiB
Bash
Executable File

#!/usr/bin/env bash
set -ue
if [[ ${PGDATA:-unset} != "unset" ]] || [[ ${PGHOST:-unset} != "unset" ]] || [[ ${PGTEMP_DIR:-unset} != "unset" ]]; then
echo "ERROR: this script deletes \${PGDATA}, \${PGHOST}, and \${PGTEMP_DIR}."
echo "So it will not run if you have these set in your environment"
exit 1
fi
export GDAL_PREFIX=$(../../../mason prefix gdal 2.0.2)
# make sure we can init, start, create db, and stop
export PGDATA=./local-postgres
# PGHOST must start with / so therefore must be absolute path
export PGHOST=$(pwd)/local-unix-socket
export PGTEMP_DIR=$(pwd)/local-tmp
export PGPORT=1111
# cleanup
function cleanup() {
if [[ -d ${PGDATA} ]]; then rm -r ${PGDATA}; fi
if [[ -d ${PGTEMP_DIR} ]]; then rm -r ${PGTEMP_DIR}; fi
if [[ -d ${PGHOST} ]]; then rm -r ${PGHOST}; fi
rm -f postgres.log
rm -f seattle_washington_water_coast*
rm -f seattle_washington.water.coast*
}
function setup() {
mkdir ${PGTEMP_DIR}
mkdir ${PGHOST}
}
function finish {
./mason_packages/.link/bin/pg_ctl -w stop
cleanup
}
function pause(){
read -p "$*"
}
trap finish EXIT
cleanup
setup
if [[ ! -d ./mason_packages/.link ]]; then
./script.sh link
fi
./mason_packages/.link/bin/initdb
export PATH=./mason_packages/.link/bin/:${PATH}
export GDAL_DATA=${GDAL_PREFIX}/share/gdal
postgres -k $PGHOST > postgres.log &
sleep 2
cat postgres.log
createdb template_postgis
psql -l
psql template_postgis -c "CREATE TABLESPACE temp_disk LOCATION '${PGTEMP_DIR}';"
psql template_postgis -c "SET temp_tablespaces TO 'temp_disk';"
psql template_postgis -c "CREATE EXTENSION postgis;"
psql template_postgis -c "SELECT PostGIS_Full_Version();"
curl -OL "https://s3.amazonaws.com/metro-extracts.mapzen.com/seattle_washington.water.coastline.zip"
unzip -o seattle_washington.water.coastline.zip
createdb test-osm -T template_postgis
shp2pgsql -s 4326 seattle_washington_water_coast.shp coast | psql test-osm
psql test-osm -c "SELECT count(*) from coast;"