#!/usr/bin/env bash set -euo pipefail : "${PGHOST:=db}" : "${PGPORT:=5432}" : "${PGDATABASE:=gsqa}" : "${PGUSER:=gsqa}" echo "Checking ${PGUSER}@${PGHOST}:${PGPORT}/${PGDATABASE}" psql --set=ON_ERROR_STOP=1 --no-psqlrc <<'SQL' DO $$ DECLARE relation_name text; BEGIN IF NOT EXISTS (SELECT 1 FROM pg_extension WHERE extname = 'postgis') THEN RAISE EXCEPTION 'Missing extension: postgis'; END IF; IF NOT EXISTS (SELECT 1 FROM pg_extension WHERE extname = 'postgis_raster') THEN RAISE EXCEPTION 'Missing extension: postgis_raster'; END IF; FOREACH relation_name IN ARRAY ARRAY[ 'public.pois', 'public.roads', 'public.parks', 'public.lakes', 'public.regions', 'public.dem_us' ] LOOP IF to_regclass(relation_name) IS NULL THEN RAISE EXCEPTION 'Missing reference table: %', relation_name; END IF; END LOOP; END $$; SELECT PostGIS_Full_Version() AS postgis_version; SELECT c.relname AS table_name, c.reltuples::bigint AS estimated_rows FROM pg_class AS c JOIN pg_namespace AS n ON n.oid = c.relnamespace WHERE n.nspname = 'public' AND c.relname IN ('pois', 'roads', 'parks', 'lakes', 'regions', 'dem_us') ORDER BY c.relname; SQL echo "GS-QA2 reference database is ready."