I hope that I'm not jumping in on the conversation, but this has yet to fail me: <code> insert into layer_centroids(the_geom, polygon_id) select ST_PointOnSurface(ST_Centroid(layer_polygons.the_geom)), layer_polygons.polygon_id from layer_polygons; </code> My polygons consist of census boundaries and tracks. cheers, dassouki