68 lines
1.9 KiB
Bash
68 lines
1.9 KiB
Bash
|
#!/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;"
|