COPY (
    SELECT text '<?xml version="1.0" encoding="UTF-8" ?>' ||
        '<svg xmlns="http://www.w3.org/2000/svg">'

    -- point
    UNION ALL
    SELECT '<g id="my_points">' || string_agg('<ellipse ' ||
        ST_AsSVG(geom) || '/>', '') || '</g>'
    FROM geometry_table

    -- (multi)linestring or (multi)polygon
    UNION ALL
    SELECT '<g id="my_lines">' || string_agg('<path d="' ||
        ST_AsSVG(geom) || '"/>', '') || '</g>'
    FROM geometry_table

    UNION ALL
    SELECT '</svg>'
) TO 'R:/my_output.svg';