I am missing something about how to properly create a rule. Thanks to the helpful folks on this list, I am looking a creating some update able views. So, looks like I need to create a rule and a function for this. Here is what I am trying as a test. DROP TRIGGER v_trig_test ON test; CREATE OR REPLACE FUNCTION v_trig_test() RETURNS trigger AS $$ use 5.010; use strict; use warnings; use Data::Dumper qw(Dumper); my $new = Dumper $_TD->{new}; my $old = Dumper $_TD->{old}; elog(NOTICE, "old = $old" ); elog(NOTICE, "new = $new" ); return; $$ LANGUAGE plperlu; CREATE RULE "_RETURN" AS ON UPDATE TO purchase_view DO INSTEAD SELECT * FROM v_trig_test; But the select line in the create rule seems to be a syntax error. Here is my thinking. I have done functions called from triggers, and I am modeling this after that experience, so I think I need the rule to call the function, correct? -- "They that would give up essential liberty for temporary safety deserve neither liberty nor safety." -- Benjamin Franklin