Whether this is a good idea is another question entirely. Lots of people will tell you it's a horrid idea for PG functions to cause outside-the-database side effects. The reason is that if the transaction that called the function aborts later, there is no way to roll back what was done outside the database, and so the state outside the database will no longer be in sync with the state inside.
The new solution for this is to use an XA transaction manager and 2PC I guess...
Chris ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend