I've combined bits from several suggestions and added a bit of my own and found a solution which works well for me - and all from within QGis!

I first ran a PostGis SELECT to find the points which have the right common attributes and lie within x km of each other:

>   SELECT DISTINCT s1.postcode,s1.the_geom, s1.gid
>     FROM broadband_data AS s1 JOIN broadband_data AS s2
>       ON ST_DWithin(s1.the_geom, s2.the_geom,1000)
>    WHERE s1.postcode != s2.postcode
>      AND s1.fastest_broadband <= 2000

(Pretty much straight from Manning's very good [PostGis in Action][1] book, only adding a self-join)

I then loaded Carson Farmer's ManageR plugin, and imported the layer. From here I followed the suggested PAM clustering process [here][2], and exported the result to a shape file, on which Convex Hulls were calculated in seconds using fTools (Carson does get around!).

  [1]: http://www.manning.com/obe/
  [2]: http://casoilresource.lawr.ucdavis.edu/drupal/node/340