Dette er ikke muligt, da i sql er udførelsesrækkefølgen først, where-sætningen og derefter select. På det tidspunkt, hvor klausulen bliver udført, ved den ikke, hvad du har defineret som et alias, og du vil derfor få den fejl.
Du skal omskrive din forespørgsel sådan her...
SELECT
SUBSTRING(pk, 6, 2)::INT AS _year
FROM
listing
WHERE
SUBSTRING(pk, 6, 2)::INT > 90