あなたはルールシステムについて考えるのは正しかった。これがあなたの問題に一致する例へのリンクです。トリガーよりもさらに簡単です:
create rule protect_first_entry_update as
on update to your_table
where old.id = your_id
do instead nothing;
create rule protect_first_entry_delete as
on delete to your_table
where old.id = your_id
do instead nothing;
一部の回答は1つのポイントを見逃しています。また、保護された行の更新を制限する必要があります。それ以外の場合は、最初に保護された行を更新して、禁止された削除基準を満たさなくなるようにします。次に、保護されなくなったため、更新された行を削除できます。