On tis, 2010-10-12 at 17:03 -0400, Tom Lane wrote:
> Oh, I had an idea for a small improvement to this. It doesn't seem
> unlikely that pg_hba.conf could contain multiple entries with the same
> host name (but, presumably, different user and/or database names). As
> this is coded, you'll do a forward DNS lookup for each one until
> finding
> the complete match. You could easily prevent that by adding an
> additional cache field to struct Port, along the lines of
> +1 = remote_hostname is known to resolve to client's IP
> address
> -1 = remote_hostname is known NOT to resolve to client's IP
> address
> 0 = we have not done the forward DNS lookup yet.
> With this additional field we could guarantee to do not more than two
> DNS lookups per connection attempt.
That's a very good idea. I will revise my patch.