Thomas Kellerer <spam_eater@xxxxxxx> writes: > Jinhua Luo schrieb am 18.04.2016 um 16:47: >> For trigger, e.g. written in pl/pgsql, each sql command within the >> function may see more new data beyond the (entry) snapshot of outer >> command. > No it will not see "more data") > It runs in the same _transaction_ as the "firing" command and thus sees > **exactly** the same data as the triggering statement No, that's not true: a trigger is a function and what it can see is determined by the rules of the PL it's written in. Typically a function that's marked STABLE or IMMUTABLE will see the same snapshot as the calling query, but a function that's VOLATILE will take a new snapshot for each query it contains. regards, tom lane -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general