Я думаю, что "MERGE" еще не в Postgres, но предполагается в 9.1.
Мне нравится использовать RULE s вместо
CREATE OR REPLACE RULE "insert_ignore"
AS ON INSERT TO "table" WHERE
NEW.id = OLD.id --whatever your conditions are
DO INSTEAD NOTHING;
То, на что вы ссылались («Вставить при повторном обновлении (postgresql)»), - это, по сути, какой-то pgsql, которым вы передаете данные. Я думаю, что ПРАВИЛО более элегантно, так как вам не нужно вызывать их явно, и они работают прозрачно в фоновом режиме без необходимости вызывать процедуру в вашей фактической INSERT.