>>My situation is that I'm reading data from an external website with lots of duplicate data. I am reading the data in a plpythonu function. I never update, only insert. A trigger on the table that has to check if each row exists before trying the insert is too much overhead. Create a staging table into which you import your external data and then write a query of the form "INSERT INTO realtable SELECT FROM stagingtable WHERE stagingtable NOT EXISTS realtable". David J. -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general