When is the AS keyword required?
From the documentation:


  In the SQL standard, the optional key word AS can be omitted before an
  output column name whenever the new column name is a valid column name
  (that is, not the same as any reserved keyword). PostgreSQL is
  slightly more restrictive: AS is required if the new column name
  matches any keyword at all, reserved or not


cost is a keyword, so as is required.

Also:


  Recommended practice is to use AS or double-quote output column names,
  to prevent any possible conflict against future keyword additions.


... but my preference is to not quote &amp; instead be consistent with using as.