That looks great, but it doesn't really help with my problem unless I'm missing something (very possible!)
I need a way to backup either from SQL in PSQL (possibly \!) or from a PG/PLSQL function to a file with a name set from a :variable.
This would be triggered by a certain action in the database (applying a patch).
I don't understand. To use psql, you would have to launch it with a command line, as far as I know. If psql is a viable option for you, then you should be able to execute other commands as well. That would make a bash script a viable option. How do you intend to launch psql?