We've always written triggers while porting ... keeps the code similar between the two versions.
Note in PG you write a function that does the trigger action, then define a trigger that calls the function. Slightly awkward compared to having a code block attached to the trigger CREATE but it does work. Works well, actually.