PostgreSQL並行查詢相關配置引數

T1YSL發表於2021-07-24

1. max_worker_processes(integer)
設定系統支援的最大後臺程式數,預設為8
如果備庫設定,備庫上此引數必須大於或等於主庫上的此引數配置值
此引數調整,需要重啟資料庫生效

2. max_parallel_workers(integer)
設定系統支援的並行查詢程式數,預設8
這個引數值不能高於max_worker_processes
調整這個引數,建議同時調整max_parallel_workers_per_gather引數值

3. max_parallel_workers_per_gather(integer)
設定允許啟用的並行程式的程式數,預設2
設定成0,表示禁用並行程式

上述引數的設定關係約束如下:
max_worker_processes  > max_parallel_workers > max_parallel_workders_per_gather

4. parallel_setup_cost(floating point)
設定最佳化器啟動並行程式的成本,預設為1000

5. parallel_tuple_cost(floating point)
設定最佳化器透過並行程式處理一行資料的成本,預設為0.1

6. min_parallel_table_scan_size(integer)
設定開啟並行的條件之一,表佔用空間小於此值將不會開啟並行
並行順序掃描場景下掃描的資料大小通常等於表大小,預設值8M

7. min_parallel_index_scan_size(integer)
設定開啟並行的條件之一,實際上並行掃描不會掃描索引所有資料塊
只是掃描索引相關資料塊,預設值為512kb

8. force_parallel_mode(enum)
強制開啟並行,一般作為測試目的

案例配置檔案 postgresql.conf

max_worker_processes = 16
max_parallel_workers_per_gather = 4
max_parallel_workers = 8
parallel_tuple_cost = 0.1
parallel_setup_cost = 1000.0
min_parallel_table_scan_size = 8MB
min_parallel_index_scan_size = 512kB
force_parallel_mode = off


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69990629/viewspace-2783126/,如需轉載,請註明出處,否則將追究法律責任。

相關文章