Se me ocurre que exista un registro bloqueado por otra transacción y esta esté esperando su ejecución para completar la misma.
Trabajas en tu servidor con el autocommit apagado?
Tienes otros procesos corriendo paralelo a este?
Te recomiendo revisar este link
http://www.postgresql.org.es/node/582
Con algunos tips para monitorear tu servidor de base de datos.
saludos