Memperbaiki error "shared memory tidak cukup"
Jika Anda menjalankan AlloyDB Omni tanpa shared memory yang cukup untuk columnar engine, Anda mungkin melihat error berikut:
Insufficient shared memory for generating the columnar formats.
Untuk mengatasi masalah ini, tentukan jumlah shared memory yang tersedia untuk container AlloyDB Omni.
Linux
Pastikan Anda telah menginstal AlloyDB Omni dengan direktori
/dev/shmyang terpasang di container. Untuk mengetahui informasi selengkapnya, lihat Menyesuaikan penginstalan AlloyDB Omni.Tingkatkan ukuran partisi
/dev/shmmesin host Anda menggunakan teknik seperti mengedit file/etc/fstab.
Menemukan tabel yang diisi di columnar engine
Dalam tampilan g_columnar_relations, buat kueri untuk menemukan tabel yang ada di columnar engine.
SELECT * FROM g_columnar_relations;
Menemukan memori keseluruhan yang digunakan columnar engine
Gunakan fungsi SQL google_columnar_engine_memory_available() untuk menentukan jumlah memori yang digunakan columnar engine.
SELECT google_columnar_engine_memory_available();
Menentukan apakah kolom tertentu tidak diisi di columnar engine
Coba kemungkinan solusi berikut:
- Periksa apakah columnar engine mendukung jenis data kolom.
- Jika Anda baru-baru ini menambahkan atau menghapus kolom ke tabel dasar, pastikan Anda melakukan operasi yang sama di columnar engine.
Memverifikasi apakah kueri menggunakan columnar engine
Di rencana kueri, verifikasi apakah ada node perencana "Custom Scan (columnar scan)".
Menemukan tugas pemeliharaan yang sedang berlangsung
Buat kueri di tampilan g_columnar_jobs untuk menemukan tugas yang sedang berlangsung.
SELECT * FROM g_columnar_jobs;
Menetapkan jumlah resource yang digunakan aktivitas pemeliharaan di columnar engine
Secara default, columnar engine menggunakan hingga 20% resource database. Untuk menambah atau mengurangi penggunaan ini, sesuaikan setelan google_columnar_engine.maintenance_cpu_percentage (GUC). Untuk mengetahui informasi selengkapnya,
lihat Menyesuaikan resource CPU untuk tugas pemeliharaan.