Troubleshoot the columnar engine

This page describes how to troubleshoot issues that you might encounter when you use the AlloyDB Omni columnar engine. For more information about the columnar engine, see Columnar engine overview.

Fix the "insufficient shared memory" error

If you run AlloyDB Omni without enough shared memory for the columnar engine, then you might see the following error:

Insufficient shared memory for generating the columnar formats.

To address this issue, specify the amount of shared memory that's available to the AlloyDB Omni container.

Linux

  1. Make sure that you already installed AlloyDB Omni with your /dev/shm directory mounted on the container. For more information, see Customize your AlloyDB Omni installation.

  2. Increase the size of your host machine's /dev/shm partition by using a technique such as editing your /etc/fstab file.

macOS

Install a new AlloyDB Omni container, and specify a larger shared-memory value for the --shm-size flag.

Find the tables that are populated in the columnar engine

In the g_columnar_relations view, create queries to find the tables that are present in the columnar engine.

SELECT * FROM g_columnar_relations;

Find the overall memory that the columnar engine uses

Use the google_columnar_engine_memory_available() SQL function to determine the amount of memory that the columnar engine uses.

SELECT google_columnar_engine_memory_available();

Determine if specific columns aren't populated in the columnar engine

Try the following possible solutions:

  • Check whether the columnar engine supports the column's data type.
  • If you recently added or dropped columns to the base table, verify that you performed the same operation in the columnar engine.

Verify if a query uses the columnar engine

In the query plan, verify if there's a "Custom Scan (columnar scan)" planner node.

Find the maintenance jobs in progress

Query in the g_columnar_jobs view to find the jobs in progress.

SELECT * FROM g_columnar_jobs;

Set the amount of resources that maintenance activities use in the columnar engine

By default, the columnar engine uses up to 20% of the database resources. To increase or decrease this usage, adjust the google_columnar_engine.maintenance_cpu_percentage (GUC) setting. For more information, see Adjust the CPU resources for maintenance tasks.