I work with a system designed as lots of little cooperating worker programs, with boss programs that... well, boss the worker programs around. Boss and workers all use the same database. Sometimes it would be convenient to have a boss start a transaction and then have the workers do their work in the context of that transaction. Each time, I've decided that since I don't know how to do that, that I never really wanted to do that. You know how it goes. Today, it would once again be convenient to have an exec'd program do its work in the context of its parent program's transaction. So, before I once again decide that I don't actually want to do that, can you tell me... is it possible? And, would any sane person do it? We're using Linux. All of the programs are written in Ruby 1.8, using the venerable (or is it just ancient?) pgsql library.