I have a PostgreSQL/PostGIS table containing MultiPolygons representing play areas. Each Multipolygon has several fields that are the same for all the Polygons that cointain each MultiPolygon (unique record on the Play Areas table).

It turns out that I now have to save a "Soil Type" for each polygon. This would be a property of each Polygon within the Multipolygon.

The logical solution is to create a new table splitting the Multipolygons into Polygons but for me this would be the last option as I have several custom developments that pull from this table and I would not want to have to modify all these existing programs, access forms, webs, etc.

I was wondering if there was a possibility to save some custom property inside the geometry of each polygon.

I don't think this solution would work for me either since in QGIS I would not be able to select a single polygon (without selecting the rest of the MultiPolygon) and visualize/modify this property.

Is there any alternative to having to create an additional table?

  • 2
    You think it would be easier to break the relational model to implement a custom kludge with an array than use the relational model in an RDBMS?
    – Vince
    Commented May 3, 2023 at 12:21

1 Answer 1


You could model this relationally with a table for the Polygons with Soil attributes, and link to a parent table containing the play area attributes. The required MultiPolygons could be provided in a view on those two tables using ST_Collect. Performance should not be too bad, and can be improved by using a materialized view.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.