In this recipe, you wrote two PostgreSQL functions to perform geocoding and reverse geocoding. For both the functions, you defined a set of input and output parameters, and after some PL/PostgreSQL processing, you returned a set of records to the function client, given by executing a query.
As the input parameters, the Get_Closest_PlaceNames function accepts a PostGIS geometry and an optional num_results parameter that is set to a default of 5 in case the function caller does not provide it. The output of this function is SETOF RECORD, which is returned after running a query in the function body (defined by the $$ notation). Here, the query finds the places closest to the centroid of the input geometry. This is done using ...