全部產品
Search
文件中心

PolarDB:參數說明

更新時間:Jul 17, 2026

本文介紹列存索引相關參數及資料類型。

配置參數

參數名

取值範圍

預設值

說明

polar_csi.enable_query

on|off

off

是否允許查詢語句使用列存索引,取值如下:

  • off(預設):不允許查詢語句使用列存索引。

  • on:允許查詢語句使用列存索引。

polar_csi.cost_threshold

1~1000000000

50000

當查詢代價小於該閾值時,查詢語句不會使用列存索引來加速。實際取值請根據實際業務負載進行調整。

  • 當該參數的取值過大時,會導致耗時的 SQL 陳述式無法使用列存索引,查詢較慢。

  • 當該參數的取值過小時,會導致簡單SQL使用列存索引,降低系統的並發度。

說明
  • 您可以通過EXPLAIN或EXPLAIN ANALYZE來查詢並分析SQL語句的查詢代價。

  • PostgreSQL 14:在2.0.14.13.28.0及以上核心小版本調整參數預設值為50000,在此之前預設值為1000。

  • PostgreSQL 16:在2.0.16.10.12.0及以上核心小版本調整參數預設值為50000,在此之前預設值為1000。

polar_csi.max_parallel_workers

1~512

2

列存索引的並行度,即一條SQL語句可以使用的CPU資源,一般來說並行度越大效能越好。

實際取值與叢集資源規格相關,請根據叢集規格來調整該參數的值,建議不超過計算節點的CPU核心數。

說明

polar_csi.max_parallel_workers參數在早期核心版本中名為polar_csi.exec_parallel。對於不支援polar_csi.max_parallel_workers的老核心版本,請使用polar_csi.exec_parallel。

  • PostgreSQL 14:

    • 2.0.14.20.42.0及以下版本請使用polar_csi.exec_parallel。

    • 2.0.14.20.43.0及以上版本請使用polar_csi.max_parallel_workers。

  • PostgreSQL 16:

    • 2.0.16.11.15.0及以下版本請使用polar_csi.exec_parallel。

    • 2.0.16.13.16.0及以上版本請使用polar_csi.max_parallel_workers。

polar_csi.memory_limit

1~1048576

4096

列存索引可以使用的記憶體大小,單位:MB。

記憶體閾值越大,索引建立越快。請根據叢集規格來調整該參數的值,建議不超過叢集記憶體的25%,否則可能造成OOM的風險。

說明
  • PostgreSQL 14:在2.0.14.19.40.0及以上核心小版本調整參數預設值為4096,在此之前預設值為1024。

  • PostgreSQL 16:在2.0.16.10.12.0及以上核心小版本調整參數預設值為4096,在此之前預設值為1024。

polar_csi.flush_count

2048~20480000

204800

建立索引時,批次提交的行數。

增加行數能夠提高建立效率,但同時也需要佔用更多記憶體。

polar_csi.update_interval

0~3600

1

定期更新行列資料即時性的時間間隔,單位:秒。

增大更新間隔可以合并同類型的小事務,從而在事務數量較多時提高資料更新效率。

說明
  • PostgreSQL 14:在2.0.14.13.28.0及以上核心小版本,增加該參數用於提升列存索引的即時性。

  • PostgreSQL 16:在2.0.16.10.12.0及以上核心小版本,增加該參數用於提升列存索引的即時性。

polar_csi.update_batch_count

1024~4294967295

100000

批次更新行數的閾值。

一個更新事務的最大行數,增加該閾值可以提升資料更新的效率。

說明
  • PostgreSQL 14:在2.0.14.13.28.0及以上核心小版本,增加該參數用於提升列存索引的即時性。

  • PostgreSQL 16:在2.0.16.10.12.0及以上核心小版本,增加該參數用於提升列存索引的即時性。

polar_csi.forward_replay_wait

on|off

off

列存索引資料查詢一致性層級,取值如下:

  • off:表示最終一致性,列存索引的資料可能會落後於行存。

  • on:表示強一致性,查詢過程中會等待列存資料回放到最新資料時才會執行。當寫入壓力較大時,開啟該參數,可能會造成等待時間過長。

polar_csi.forward_replay_wait_lsn_diff

0~INT_MAX

0

允許行列同步延遲的LSN大小,若延遲超過設定閾值,將不再採用列存引擎。單位:BYTE。

說明
  • 該參數僅在開啟polar_csi.forward_replay_wait後才會生效。

  • 該參數僅適用於以下版本:

    • PostgreSQL 14:核心小版本2.0.14.19.40.0及以上。

    • PostgreSQL 16:核心小版本2.0.16.10.12.0及以上。

    • PostgreSQL 15與PostgreSQL 17:與適用範圍一致。

polar_csi.sync_addcolumn

on|off

off

是否同步Add Column到列存索引。

說明

該參數僅適用於以下版本:

  • PostgreSQL 14:核心小版本2.0.14.19.40.0及以上。

  • PostgreSQL 16:核心小版本2.0.16.10.12.0及以上。

  • PostgreSQL 15與PostgreSQL 17:與適用範圍一致。

資料類型

類別

資料類型

基礎資料型別 (Elementary Data Type)

BOOLEAN、ARRAY、BIT、UUID

字串和二進位類型

BPCHAR、CHAR、VARCHAR、TEXT、NAME、BYTEA

日期和時間類型

DATE、TIME、TIMESTAMP、TIMESTAMPTZ、INTERVAL

數值型

BIGINT、DECIMAL、DOUBLE PRECISION、FLOAT4、FLOAT8、INTEGER、NUMERIC、REAL、SERIAL、SHORT、SMALLINT

複合類型

JSON、JSONB、ENUM、BITSTRING、VARCHAR[]、TEXT[]

說明
  • PostgreSQL 14:在2.0.14.19.40.0及以上核心小版本,增加資料類型BITSTRING、VARCHAR[]、TEXT[]。

  • PostgreSQL 16:在2.0.16.10.12.0及以上核心小版本,增加資料類型BITSTRING、VARCHAR[]、TEXT[]。