mirror of
https://github.com/postgres/postgres.git
synced 2025-07-27 12:41:57 +03:00
btree: Support parallel index scans.
This isn't exposed to the optimizer or the executor yet; we'll add support for those things in a separate patch. But this puts the basic mechanism in place: several processes can attach to a parallel btree index scan, and each one will get a subset of the tuples that would have been produced by a non-parallel scan. Each index page becomes the responsibility of a single worker, which then returns all of the TIDs on that page. Rahila Syed, Amit Kapila, Robert Haas, reviewed and tested by Anastasia Lubennikova, Tushar Ahuja, and Haribabu Kommi.
This commit is contained in:
@ -1207,7 +1207,7 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
|
||||
<entry>Waiting in an extension.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry morerows="9"><literal>IPC</></entry>
|
||||
<entry morerows="10"><literal>IPC</></entry>
|
||||
<entry><literal>BgWorkerShutdown</></entry>
|
||||
<entry>Waiting for background worker to shut down.</entry>
|
||||
</row>
|
||||
@ -1215,6 +1215,10 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
|
||||
<entry><literal>BgWorkerStartup</></entry>
|
||||
<entry>Waiting for background worker to start up.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>BtreePage</></entry>
|
||||
<entry>Waiting for the page number needed to continue a parallel btree scan to become available.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>ExecuteGather</></entry>
|
||||
<entry>Waiting for activity from child process when executing <literal>Gather</> node.</entry>
|
||||
|
Reference in New Issue
Block a user