Du havde ret med hensyn til at tænke på regelsystemet. Her er et link til et eksempel, der matcher dit problem. Det er endnu nemmere end triggerne:
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;
Nogle svar savner et punkt:også opdateringen af den beskyttede række skal begrænses. Ellers kan man først opdatere den beskyttede række, så den ikke længere opfylder det forbudte sletningskriterium, og derefter kan man slette den opdaterede række, da den ikke længere er beskyttet.