> On 10 May 2018, at 7:13, tango ward <tangoward15@xxxxxxxxx> wrote: > ON CONFLICT (school_system_id, > student_id, > campus_name > ) DO UPDATE > SET school_system_id = excluded.school_system_id, > student_id = excluded.student_id, > campus_name = excluded.campus_name I'm pretty sure this ought to read: ON CONFLICT (school_system_id, student_id, campus_name) DO UPDATE SET modified = EXCLUDED.modified, balance = EXCLUDED.balance, balance_as_of = EXCLUDED.balance_as_of Instead, you were re-assigning the keys (school_system_id, student_id, campus_name) to the same values again. Alban Hertroys -- If you can't see the forest for the trees, cut the trees and you'll find there is no forest.