Avevi ragione a pensare al sistema di regole. Ecco un collegamento a un esempio che corrisponde al tuo problema. È ancora più semplice dei 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;
Ad alcune risposte manca un punto:anche l'aggiornamento della riga protetta deve essere limitato. Altrimenti si può prima aggiornare la riga protetta in modo che non soddisfi più il criterio di eliminazione vietata, quindi si può eliminare la riga aggiornata poiché non è più protetta.