Usa
select (date '2013-01-01' + interval '53 days')::date
o
select cast(date '2013-01-01' + interval '53 days' as date)
Funzione SQL standard di PostgreSQL "extract()" farà operare sui timestamp, ma a) "data" non è un argomento valido per estrarre() e b) restituisce sottocampi, non una raccolta di sottocampi. Concettualmente, una data è costituita da una raccolta di tre sottocampi:anno, mese e giorno.
select extract(year from current_timestamp),
extract(month from current_timestamp),
extract(day from current_timestamp),
-- Concatenate and cast to type "date".
(extract(year from current_timestamp) || '-' ||
extract(month from current_timestamp) || '-' ||
extract(day from current_timestamp))::date