PostgreSQL 8.3 の date_trunc を含む CREATE INDEX

今まで(<=7.4)大丈夫だったのに、8.3 になったら CREATE INDEX 時に "timestamp with time zone" なフィールドに対して、date_trunc 関数などを使うと、以下のエラーが発生してしまう。

ERROR:  functions in index expression must be marked IMMUTABLE

http://archives.postgresql.org/pgsql-general/2008-01/msg01509.php
より、

CREATE INDEX request_day_idx 
  ON example (date_trunc('day', request_received AT TIME ZONE 'JST')); 

などと、 time zone を指定してやると、"timestamp without time zone" 型になり良いらしい。
また、インデックスを有効にするためには SELECT 文にも"at time zone"をつけてあげないといけない。