排解資料欄引擎問題

選取說明文件版本:

本頁說明如何排解使用 AlloyDB Omni 資料欄引擎時可能遇到的問題。如要進一步瞭解直欄式引擎,請參閱「直欄式引擎總覽」。

修正「共用記憶體不足」錯誤

如果執行 AlloyDB Omni 時,資料欄引擎的共用記憶體不足,可能會看到下列錯誤:

Insufficient shared memory for generating the columnar formats.

如要解決這個問題,請指定 AlloyDB Omni 容器可用的共用記憶體容量。

Linux

  1. 請確認您已安裝 AlloyDB Omni,且 /dev/shm 目錄已掛接至容器。詳情請參閱「自訂 AlloyDB Omni 安裝作業」。

  2. 使用編輯 /etc/fstab 檔案等技術,增加主機的 /dev/shm 分區大小。

macOS

安裝新的 AlloyDB Omni 容器,並--shm-size 旗標指定較大的共用記憶體值

找出在資料欄引擎中填入的資料表

g_columnar_relations 檢視畫面中,建立查詢來找出直欄引擎中的資料表。

SELECT * FROM g_columnar_relations;

找出資料欄引擎使用的整體記憶體

使用 google_columnar_engine_memory_available() SQL 函式,判斷資料欄引擎使用的記憶體量。

SELECT google_columnar_engine_memory_available();

判斷資料欄引擎中是否未填入特定資料欄

請嘗試下列解決方案:

  • 檢查資料欄引擎是否支援資料欄的資料類型。
  • 如果您最近在基礎資料表中新增或捨棄資料欄,請確認您在直欄引擎中執行了相同作業。

確認查詢是否使用資料欄引擎

在查詢計畫中,確認是否有「自訂掃描 (資料欄掃描)」規劃工具節點。

查看進行中的維護工作

g_columnar_jobs 檢視畫面中查詢,找出進行中的工作。

SELECT * FROM g_columnar_jobs;

設定直欄引擎中維護活動使用的資源量

根據預設,直欄引擎最多會使用 20% 的資料庫資源。如要增加或減少這項用量,請調整 google_columnar_engine.maintenance_cpu_percentage (GUC) 設定。詳情請參閱「調整維護作業的 CPU 資源」。