@Nicolai hat Recht mit dem Casting und warum die Bedingung für alle Daten falsch ist. Ich denke, Sie bevorzugen die erste Form, weil Sie Datumsmanipulationen in der Eingabezeichenfolge vermeiden möchten, richtig? Sie brauchen keine Angst zu haben:
SELECT *
FROM table
WHERE update_date >= '2013-05-03'::date
AND update_date < ('2013-05-03'::date + '1 day'::interval);