The latest PostGIS release has a built-in geocoder that's based off of Public Domain US Census data. While this was an excellent read, if you need a geocoder and don't want to build your own, try the PostGIS geocoder or use the Nominatim OSM service.