I was thinking something like: > ... RETURNING *; -- Postgres behavior Versus: > ... RETURNING RECURSIVE *; -- Also reports cascading changes In other words, add the RECURSIVE keyword after RETURNING to cause foreign-key updates to the same table to be reported, and use the traditional syntax without RECURSIVE to report only the rows that are directly modified and omit changed by foreign key constraints or auxiliary triggers. This remains an option for the future. For now, at least, the behavior of SQLite has been shifted to align with Postgres. Such was the recommendation of the Postgres devs, in addition to the majority recommendation of the responses on this forum thread.