Thanks guys but I cannot use C on the database server. I am a lowly coder in a large organization and even getting pl/PGSQL loaded into the production database practically took an act of congress. So for now solutions that require stored procedures to be written in C are not an option. pl/Perl would almost work. They loaded it onto the production database when I requested pl/PGSQL but they didn't load it into my sandbox (development) database. You have no idea has bureaucratic a place can be. :o) I think I'm just going to build a SQL statement by comparing each field in turn between OLD and NEW. Thanks for all your help everyone! Its highly appreciated. Maybe in the next version of postgresql some of this stuff will be built in since appearantly it is so desirable to people. -Robert