AT TIME ZONE cuando se aplica a una timestamp without timezone produce una timestamp with timezone (Y a la inversa). Y esta timestamp with timezone se interpreta en la zona horaria de su sesión (que en su caso está forzada a UTC ).
Entonces, la expresión EXTRACT (dow from time at time zone 'Brisbane/Australia') no extrae el día en Brisbane a la time (UTC) , extrae el día correspondiente a la time convertida desde el punto de vista de alguien que vive virtualmente en la zona horaria UTC.
Como ejemplo, cuando escribo esto, si pretendo estar en UTC:
=> set timezone to 'UTC';
=> select now(),now() at time zone 'Australia/Brisbane';
now | timezone
------------------------------+---------------------------
2013-10-27 18:01:03.15286+00 | 2013-10-28 04:01:03.15286
Bien, es el domingo a las 18:01 en UTC y el lunes a las 04:01 en Brisbane
Pero si se aplica el desplazamiento de la zona horaria a una timestamp without timezone :
select now(),now()::timestamp at time zone 'Australia/Brisbane';
now | timezone
-------------------------------+-------------------------------
2013-10-27 18:01:57.878541+00 | 2013-10-27 08:01:57.878541+00
Observe cómo la segunda columna difiere del resultado anterior. En realidad, son 20 horas menos que Brisbane expresadas en UTC:presumiblemente es la respuesta técnicamente correcta a una pregunta que no tiene mucho sentido.
Presumiblemente quieres esto:
EXTRACT (dow from (time AT TIME ZONE 'UTC') at time zone 'Brisbane/Australia')=0
que debería responder:la fecha y la hora time como se mide en UTC corresponde a un domingo en Brisbane?