Viejo Diego... como va?
En cuanto a este trigger, debe hacer ciertos cambios.
1. Declaración del trigger
En postgres, Un trigger debe ser declarado como función con parametro de retorno un trigger, posterior a su creación, debe crearse el trigger, disparando la respectiva función o procedimiento.
En oracle, dicha función se crea dentro del trigger en un solo bloque.
2. cambiar TG_OP
TG_OP en postgres, es una variable que almacena el evento que se ha ejecutado en el trigger. Para el caso de oracle, creo que se puede suplir por las sentencias
inserting, updating o deleting. 3. Variable Record
He leído por encima y Oracle parece soportarlas, pero no conozco la sintaxis de su uso. En postgresql, en una variable record, se pueden almacenar los valores de varios campos de un registro de una consulta determinada. La sintaxis es como la ve en el trigger que ha puesto.
Este mismo problema, se puede suplir con el uso de cursores, recorriendo la consulta y almacenando los valores de los campos.
El resto del codigo, tiende a ser muy compatible entre ambos sistemas.
Espero haber ayudado.