Ini tidak mungkin seperti di sql, urutan eksekusi adalah yang pertama, klausa where dan kemudian pilih. Pada saat klausa dieksekusi, ia tidak tahu apa yang Anda definisikan sebagai alias dan Anda akan mendapatkan kesalahan itu.
Anda perlu menulis ulang kueri Anda seperti ini..
SELECT
SUBSTRING(pk, 6, 2)::INT AS _year
FROM
listing
WHERE
SUBSTRING(pk, 6, 2)::INT > 90