Hogy az általam először megírt (saját) systemd service-el mi volt a gond, arra nem jöttem rá.
A postgresql service fájlba néhány jól irányzott ExecStartPre, ExecStopPost és After beállítással simán azt kaptam, amit szerettem volna. Kb így néz ki a diff az eredeti Postgesql service-hez képest:
# diff postgresql.service.BAK /usr/lib/systemd/system/postgresql.service
5a6,7
> After=dev-drbd0.device
> After=drbd.service
13a16,21
> ExecStartPre=+/sbin/ip address add ${VIP} dev ${NETDEV}
> ExecStartPre=+/sbin/drbdadm primary ${RES}
> ExecStartPre=+/usr/bin/mount ${DRBDDEV} /var/lib/pgsql/data
> ExecStopPost=+/sbin/ip address delete ${VIP} dev ${NETDEV}
> ExecStopPost=+/usr/bin/umount /var/lib/pgsql/data
> ExecStopPost=+/sbin/drbdadm secondary ${RES}
ill. a /etc/sysconfig/postgresql-be felvettem a környezeti változókat (VIP, NETDEV, RES, DRBDDEV), így maga a service fájl ua lehet minden gépen (3 ilyen környezet van), a többi változtatható gépenként.