How to set a GIN index on the JSONB column?

How can I set a GIN index on the whole jsonb column and also on a single column?

import { sql } from "drizzle-orm";
import { index, jsonb, pgTable } from "drizzle-orm/pg-core";

export const users = pgTable("users", {
  metadata: jsonb("metadata").$type<Record<string, any>>(),
}, t => ({
  ginIndex: index("gin_idx").on(t.metadata).using(sql`gin`),
  ginIndex2: index("gin_idx_2").on(t.metadata).using(sql`GIN ((metadata->'name'))`),
}));


Is currently giving me this only:
CREATE TABLE IF NOT EXISTS "users" (
    "metadata" jsonb
);
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS "users_metadata_gin_idx" ON "users" ("metadata");--> statement-breakpoint
CREATE INDEX IF NOT EXISTS "users_metadata_name_gin_idx" ON "users" ("metadata");
Was this page helpful?