Postgres creates a B-tree index by default, and it's the right call for equality and range queries on scalar columns.
A column like tags text[] benefits from a GIN index when you filter with
@> or &&. A B-tree can't do that efficiently.
CREATE INDEX idx_articles_tags ON "Article" USING GIN (tags);
Match the index type to the operator you actually query with — EXPLAIN ANALYZE will tell you immediately if Postgres skipped your index.
Want to advertise your product here? Contact Us
Great write-up, thanks for the clear examples!