Try moving your "as future"
SELECT
now() AT TIME ZONE 'America/Toronto',
CAST ((SELECT now() + '4d') AS TIMESTAMP) AT TIME ZONE 'America/Toronto' as future;
> -----Original Message-----
> From: pgsql-general-owner@postgresql.org [mailto:pgsql-general-
> owner@postgresql.org] On Behalf Of Madison Kelly
> Sent: Wednesday, July 08, 2009 1:33 PM
> To: postgres list
> Subject: [GENERAL] now() + '4d' AT TIME ZONE issue
>
> Hi all,
>
> I'm trying to select an offset timestamp at a given time zone, but I
> can't seem to get the syntax right.
>
> What I am *trying* to do, which doesn't work:
>
> SELECT
> now() AT TIME ZONE 'America/Toronto',
> now() + '4d' AS future AT TIME ZONE 'America/Toronto';
>
> Which generates the error:
> ERROR: syntax error at or near "AT"
> LINE 1: ...ME ZONE 'America/Toronto', now() + '4d' AS future AT TIME
> ZO...
>
> I've tried using an embedded SELECT and CASTing it as a TIMESTAMP with
> no luck.
>
> SELECT
> now() AT TIME ZONE 'America/Toronto',
> CAST ((SELECT now() + '4d') AS TIMESTAMP) as future AT TIME ZONE
> 'America/Toronto';
> ERROR: syntax error at or near "AT"
> LINE 1: ...ST ((SELECT now() + '4d') AS TIMESTAMP) as future AT TIME
> ZO...
>
> When I remove the 'AT TIME ZONE' from the offset now in either case the
> SELECT works.
>
> Someone mind beating me with a clue stick? Thanks!
>
> Madi
>
> --
> Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general