Estaba viendo tu consulta, no se si la has probado en consola de tu BD, pero ve que es un rollo, si estas utilizando postgres deberias de ver la forma en modificar tus tablas y ponerles un CASCADE para que la eliminacion sea mas simple.
Aca encontre algo que te puede servir, bueno si el caso es el problema en el DELETE.
saludos