Deleting small gaps (slivers) between polygons?
Ok I found an answer:
You can avoid to get rounded corner by adding the parameter 'join=mitre'
to st_buffer:
So it work perfectly fine with:
SELECT st_buffer(st_buffer(geom,1,'join=mitre'),-1,'join=mitre') FROM mygeotable;
EDIT
If the buffer is too large st_buffer(geom,10,'join=mitre') produce from time to time some strange results (the polygones become spiky). So to avoid this effect it's safer to preserve the old boundary with st_intersection:
SELECT st_intersection(st_buffer(st_buffer(geom,-1,'join=mitre'),1,'join=mitre'),geom) FROM mygeotable;