Quality report
Per spatial table: rows, nulls, empties, invalids, SRID, GiST index and extent, over a read-only connection.
Deliverable: CSV with alerts per tableOcto for PostgreSQL, PostGIS and pgRouting
PostGIS 3.7.0 came out on Oct 30, 2026 and requires PostgreSQL 14 to 19; PostgreSQL 14 loses support on Nov 12, 2026. Geometry, indexes, topology and networks are handled by SQL and the command line. Octo diagnoses, proposes the fix inside a transaction, shows the count first and measures the query plan. What changes in the cadastre, the tolerance and the production window stay with the data owner and the database administrator.
Six possible deliverables, taken from the survey. All of them start by reading the database without changing anything, and every change goes through the data owner before the COMMIT.
Per spatial table: rows, nulls, empties, invalids, SRID, GiST index and extent, over a read-only connection.
Deliverable: CSV with alerts per tableDiagnosis by reason, a copy of the originals, a count first and ST_MakeValid inside a transaction that only becomes a COMMIT with approval.
EXPLAIN (ANALYZE, BUFFERS) before and after, pitfalls such as ST_Distance in the WHERE clause, GiST index created without locking writes.
Gaps and overlaps between lots with ST_CoverageInvalidEdges; topology on a copy per block, validated and with the shift measured.
Graph built with pgr_extractVertices, network checked, routes and service areas, and old scripts updated after the 4.0 removals.
Load into staging with ogr2ogr, checked by count and SRID; PostgreSQL and PostGIS upgrade rehearsal on a restored copy.
COMMIT without approval.The same Octo cycle, applied to the spatial database. Each arm has a narrow role; people change official data and decide the production window.
PostgreSQL, PostGIS and pgRouting versions, extensions, schemas, spatial tables and end-of-support dates.
SRID, type, validity, coverage and network of each table, with the quality report.
Roles, passwords in scripts or projects, personal data (LGPD) and a database port open to the outside.
Geometry or geography, topology or simple coverage, staging before official, target version.
Always with a count first, a copy of the affected rows, a transaction and a written rollback.
Invalids after the fix, area difference, query plan, a graph with no dangling ends. "UPDATE 137" is not a check.
COMMIT, production indexes and version upgrades only in the agreed window and with the database administrator.
How many rows, which table, which tolerance, who approved and how to roll back.
Octo works as support. It does not commit transactions on official data, create indexes in production or upgrade the database without approval.
The criteria Octo uses to choose, with the manual for the installed version.
| Task | Path | Note |
|---|---|---|
| Know the versions | postgis_full_version() | Cross-check with PostgreSQL end of support |
| Find invalid geometry | ST_IsValidReason grouped | Read-only |
| Fix geometry | ST_MakeValid(geom, 'method=structure') | Copy, count and transaction; GEOS 3.10+ |
| Gaps and overlaps | ST_CoverageInvalidEdges | Window function, per block; GEOS 3.12+ |
| Radius search | ST_DWithin | Not ST_Distance in the WHERE clause |
| Nearest neighbor | ORDER BY geom <-> ponto LIMIT n | Uses the GiST index |
| Create an index | CREATE INDEX CONCURRENTLY ... USING gist | Outside a transaction; ANALYZE afterward |
| Shared boundaries | postgis_topology | Copy per block; tolerance 0 means 0 in 3.7 |
| Build the graph | pgr_extractVertices | pgr_createTopology was removed in 4.0 |
| Load data | ogr2ogr -f PostgreSQL | Into staging, with a connection service |
Three steps. Each one only makes sense after the previous one has shown results on your team.
A proposal, not a promise
Versions, extensions, spatial tables and the quality report, without changing anything.
Geometry, coverage, indexes and graph fixed in staging, with counts and plans before and after.
A weekly report compared with the previous week and a version upgrade rehearsed on a copy.
Each point below has a source published by the project or by the organization responsible for the standard. The sources are in the next section.
5
points with a published source, each with its reference shown alongside.
pgr_createTopology, pgr_analyzeGraph and pgr_nodeNetwork, among others.Source: pgRouting release notesSELECT postgis_extensions_upgrade();, which upgrades PostGIS and its sibling extensions, instead of just ALTER EXTENSION ... UPDATE.Source: PostGIS 3.7 manual, section 3.4.1Octo prepares everything, but it does not sign. The document of record stays with whoever is accountable for it.
Surveys, calculates, organizes and produces the documents: spreadsheets, reports, maps and drafts.
Deliverable: material ready to checkThe licensed professional checks what Octo delivered before signing. If something doesn't add up, it goes back to Octo with the correction.
Step: review by the signerOcto does not sign. Projects, technical reports, ART/RRT, accountability reports and any official document are still signed by the company's or agency's licensed professional: here, the technical lead for the map or the survey.
Signature: technical lead for the map or surveyPostGIS announcements and manual, the PostgreSQL versioning policy and the pgRouting documentation, consulted on Oct 31, 2026.
The assessment starts with a version inventory and a quality report of every spatial table, without changing anything. You get the list of what is invalid, slow or exposed and the decisions only your team makes, and you decide with it in hand.