Great book. Loved it. I think a lot of things could be a bit better. Just trying to give some constructive feedback. Where pertinent, I'll show you the questions I asked on other forums.

Going through the early chapters that demonstrate simple drawings. I think a grid of the coordinate plane will help illustrate how those geometries are marked up (starting and ending - directionality). At least show the origin. I missed that the middle of the graph was not 0,0 in those drawings.

I'm somewhat confused at how the ellipsoid is pinned to the geod. This may be out of the scope of the book, but I get NAD27 but I do not get how NAD83, and WGS84 go about with "no initial point or initial direction." That is, without a datum. http://gis.stackexchange.com/q/214786/6052

For The TIGER geocoder, I really wish there was a graph comparing these function, the packages they provide and upside and downside of each one. You mention mapping from stdaddr to norm_addy. I went ahead and tried that. http://dba.stackexchange.com/a/162044/2639 feel free to add it in the third edition.

On page 226 there is an error, ST_Dim() doesn’t exist; I believe you wanted ST_Ndims().

On Page 514 CREATE TABLE AS, is the standard. I think the advice here is totally wrong. The deprecated syntax is SELECT INTO. CTAS is the way forward. You should search for SELECT INTO and rewrite them all as CREATE TABLE AS (such as on Page 264, 269, 413).

Generally 11.2, (269-274) is entirely too fast paced. I was unclear at any of the deep voodoo employed in these. I’ll look at it later. Personally, I’d rather see more explanation here, and less about front-ends and proprietary alternatives to PostGIS. The whole 11 chapter feels so overwhelming I just skipped it. A bunch of big queries needing substantially more explanation. Not sure if we should be groking and learning this or using it as a boiler plate for niche problems.

A lot of the later examples can be improved by abandoning sample data for the more typical VALUES-clause data in the rest of the book.