APM does not come with a set of rc scripts. So, you need to create one to start/stop each EM by just calling "EM_HOME/bin/EMCtrl.sh (start|stop)".
With startup & shutdown, it would be best to create S* & K* scripts (Start and Kill) in your default run level directory e.g. /etc/rc5.d (initdefault setting in /etc/inittab). You can then use appropriate script naming to get the order of execution of postgres & EM startups correct, i.e. on startup the postgres S script runs before the EM S script while on shutdown the EM K script runs before the postgres K script.
If using one of the rc (run levels) to start the EM, your could also use rc.local as this executes after the multiuser run level is finished. Also use this approach if you don't want to tie it down to one specific multiuser run level.
Note: The downside to this is that there is no rc.local equivalent for shutdown