Where does the magic column "name" come from?
NAME is actually a function. It's a quirk of Postgres that a function with one argument e.g. function(arg) can also be called as arg.function. From the docs:


  The equivalence between functional
  notation and attribute notation makes
  it possible to use functions on
  composite types to emulate "computed
  fields".


NAME is an internal type for object names, and this function is casting its argument to that type and returning it.