9.3 Lines to polygons, and polygons to lines

9.59

select
    st_boundary(st_transform(geom, 4326))
from
    nyc_zips
where
    zipcode = '10001'

9.60

select
    st_makeline(
        st_pointn(
            st_boundary(st_transform(z.geom, 4326)),
            numbers.num
        ),
        st_pointn(
            st_boundary(st_transform(z.geom, 4326)),
            numbers.num + 1
        )
    ),
    numbers.num
from
    nyc_zips z
    cross join lateral generate_series(1, st_npoints(z.geom) - 1) as numbers(num)
where
    z.zipcode = '10001'

9.61

select
    st_polygonize(
        st_makeline(
            st_pointn(
                st_boundary(st_transform(z.geom, 4326)),
                numbers.num
            ),
            st_pointn(
                st_boundary(st_transform(z.geom, 4326)),
                numbers.num + 1
            )
        )
    )
from
    nyc_zips z
    cross join lateral generate_series(1, st_npoints(z.geom) - 1) as numbers(num)
where
    z.zipcode = '10001'