> As for other databases, I suspect that ones that have parallel execution > are probably doing it with a thread model not a process model.
Separate processes are more common because it covers the general case where query execution is spread across multiple nodes. Threads don't work across nodes and parallel queries predate (working) threading models.
Indeed. Parallelism based on processes would be more convenient for master-master type of applications. Even if no master-master feature is implemented directly in core, at least a parallelism infrastructure based on processes could be used for this purpose.