-- Read-only verification after migrate, in isolated PostgreSQL. SELECT version(), PostGIS_Full_Version(); SELECT extname,extversion FROM pg_extension WHERE extname IN ('postgis','pgcrypto'); SELECT table_name,column_name,data_type,udt_name,is_nullable,column_default, character_maximum_length,numeric_precision,numeric_scale FROM information_schema.columns WHERE table_schema='public' ORDER BY table_name,ordinal_position; SELECT conrelid::regclass,conname,contype,pg_get_constraintdef(oid) FROM pg_constraint WHERE connamespace='public'::regnamespace ORDER BY 1,2; SELECT tablename,indexname,indexdef FROM pg_indexes WHERE schemaname='public' ORDER BY 1,2; SELECT tgrelid::regclass,tgname,pg_get_triggerdef(oid) FROM pg_trigger WHERE NOT tgisinternal AND tgname LIKE 'imz_%' ORDER BY 1,2; SELECT * FROM pg_policies WHERE schemaname='public'; SELECT id FROM geo_geometries WHERE ST_SRID(geom)<>4326 OR ST_NDims(geom)<>2 OR ST_IsEmpty(geom) OR NOT ST_IsValid(geom); SELECT p.id FROM project_locations p LEFT JOIN projects t ON t.id=p.project_id WHERE t.id IS NULL; SELECT c.investor_id,c.contact_id FROM investor_contacts c LEFT JOIN investors i ON i.id=c.investor_id WHERE i.id IS NULL; SELECT source_system,external_id,count(*) FROM projects WHERE external_id IS NOT NULL GROUP BY source_system,external_id HAVING count(*)>1; SELECT id FROM projects WHERE budget_amount<0 OR ((budget_amount IS NULL)<>(budget_currency IS NULL)); EXPLAIN (ANALYZE, BUFFERS, FORMAT JSON) SELECT id FROM outbox_events WHERE status='pending' AND available_at<=CURRENT_TIMESTAMP ORDER BY available_at LIMIT 100; EXPLAIN (ANALYZE, BUFFERS, FORMAT JSON) SELECT id FROM geo_geometries WHERE ST_Intersects(geom,ST_MakeEnvelope(32,-26,33,-25,4326));