Полигоны и пустоты в них

Здравствуйте!
Никак не могу понять, каким образом в базе лежат объекты - полигоны, имеющие отверстия.
Например полигон, обозначающий лес, а внутри него - вырубка. Речь идет именно о исключении определенной зоны из полигона.
Отношения? Каким образом формировать sql запрос на добавление такого объекта?

ST_MakePolygon(geometry outerlinestring, geometry[] interiorlinestrings);

В базе ОСМ они хранятся как мультиполиноы (relation).

Во время импорта программа-конвертер, например osm2pgsql, делает из них полигоны “с дырками” и хранит в едином поле way. Если лезть совсем внутрь, обычно внешний контур хранится по часовой стрелке, а внутренние дырки - против часовой стрелки. Так рендер понимает где делать заливку.