My thanks to all who contributed thoughts about my question. I have put a two-part solution into place. The trigger function that fires when charges are inserted raises the exception, but leaves the possibility of dangling coils (coils with the numbers of charges that do not exist in the database). A Python script running under the control of a service checks every minute for dangling coils and removes their charge numbers. This is not ideal, but it works. It has the added benefit of handling dangling coils that have shown up from another (as yet unidentified) cause occasionally. RobR