Если вы хотите, чтобы это было точным, вы должны начать с полигональных данных, которые включают в себя местоположение и форму каждого почтового индекса. У меня есть база данных, подобная этой (раньше публиковавшейся в США переписью, но они больше этого не делают) и построили подобные вещи поверх нее, но не этот точный запрос.
Если вы не заботитесь о том, точно (который я предполагаю, что вы не), вы можете получить таблицу центральных точек Почтовых индексов и точки запроса заказанных great circle расстояния. PostGIS предоставляет отличные инструменты для этого, хотя вы можете создать запрос к другим базам данных, которые будут выполнять подобные задачи.
Альтернативный подход, который я использовал, состоит в том, чтобы построить ящик, который охватывает круг, который вы хотите, запросив предложение inter на lon/lat и затем сделав большой круг в коде приложения.