Robert Haas <robertmh...@gmail.com> wrote: > On Tue, Mar 12, 2019 at 4:34 AM Antonin Houska <a...@cybertec.at> wrote: > > Andy Fan <zhihui.fan1...@gmail.com> wrote: > > > I just don't know why shm_mq is designed to single-reader & single-writer. > > > > shm_mq was implemented as a part of infrastructure for parallel query > > processing. The leader backend launches multiple parallel workers and sets > > up > > a few queues to communicate with each. One queue is used to send request > > (query plan) to the worker, one queue is there to receive data from it, and > > I > > think there's one more queue to receive error messages. > > No, the queues aren't used to send anything to the worker. We know > the size of the query plan before we create the DSM, so we can just > allocate enough space to store the whole thing.
ok, I forgot that. (Last time I saw this part was when reading the parallel sequential scan patch a few years ago.) -- Antonin Houska https://www.cybertec-postgresql.com