Sie hatten recht, als Sie an das Regelsystem dachten. Hier ist ein Link zu einem Beispiel, das zu Ihrem Problem passt. Es ist sogar noch einfacher als die Trigger:
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;
Einige Antworten übersehen einen Punkt:Auch die Aktualisierung der geschützten Zeile muss eingeschränkt werden. Andernfalls kann man zuerst die geschützte Zeile so aktualisieren, dass sie das Kriterium des verbotenen Löschens nicht mehr erfüllt, und dann kann man die aktualisierte Zeile löschen, da sie nicht mehr geschützt ist.