Usar
select (date '2013-01-01' + interval '53 days')::date
ou
select cast(date '2013-01-01' + interval '53 days' as date)
Função SQL padrão do PostgreSQL "extract()" vai operam em timestamps, mas a) "data" não é um argumento válido para extract(), e b) ele retorna subcampos, não uma coleção de subcampos. Conceitualmente, uma data consiste em uma coleção de três subcampos:ano, mês e dia.
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