> If an update statement is affecting multiple rows of a table X ,
> Does a subselect (selecting from X only) inside EXISTS part of outer query
> able to see the changes when rows are being updated one by one by outer query?
No, because it's part of the same query.
I believe though that a user-defined function called from the update
query would see the changes made so far. So possibly you can fix your
problem by pushing the EXISTS down into a SQL or plpgsql function.
regards, tom lane