68 lines
1.9 KiB
Bash
Executable File
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;" |