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
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.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.