GS-QA-Leaderboard / runner /docker /check_database.sh
Zoe's picture
Add public evaluation paths and Docker runner
f125f8f verified
Raw
History Blame Contribute Delete
1.24 kB
#!/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."