스터디/Etc

Supabase에서 PGroonga 사용하기 – PostgreSQL 텍스트(형태소) 검색을 쉽게

Dalmangyi 2026. 6. 28.

Supabase에서 PostgreSQL 확장(Extension)을 살펴보다 보면 PGroonga라는 확장을 볼 수 있습니다.

 

처음 보면 "이게 뭐지?" 싶은데,,,

한마디로 말하면 한글, 일본어처럼 띄어쓰기만으로 검색하기 어려운 언어를 빠르고 정확하게 검색할 수 있게 해주는 검색 엔진입니다.

 

 

 


 

PGroonga란?

PGroonga는 PostgreSQL에서 사용할 수 있는 전문 검색(Full Text Search) 확장입니다.

일반적인 LIKE 검색은 다음과 같습니다.

 
SELECT *
FROM posts
WHERE title LIKE '%데이터%';
 

이 방법은 데이터가 많아질수록 느려지고, 검색 품질도 좋지 않습니다.

반면 PGroonga는 검색용 인덱스를 만들어 훨씬 빠르게 검색할 수 있습니다.

 

 

 


이름은 어떻게 읽을까?

PGroonga

보통

피지룽가 (Pee-Gee-Roonga)

라고 읽습니다.

  • PG = PostgreSQL
  • Groonga = 오픈소스 검색 엔진

즉,

PostgreSQL + Groonga 검색 엔진

이라는 의미입니다.

 

 

 

 

 


 

 

 

Supabase에서 활성화하기

Supabase Dashboard에서

Database
→ Extensions
→ PGroonga
→ Enable
 

만 누르면 사용할 수 있습니다.

별도의 설치 과정은 없습니다.

 

 

 


 

 

사용 방법

예를 들어 게시글 테이블이 있다고 가정합니다.

 
CREATE TABLE posts (
    id bigint,
    title text,
    content text
);
 

PGroonga 인덱스를 생성합니다.

 
CREATE INDEX pgrn_posts_title
ON posts
USING pgroonga (title);
 

이제 검색할 수 있습니다.

 
SELECT *
FROM posts
WHERE title &@ 'postgres';
 

&@ 연산자가 PGroonga의 대표적인 검색 연산자입니다.

 

 


 

 

 

 

 

여러 컬럼 검색하기

제목과 내용을 함께 검색하고 싶다면

 
CREATE INDEX pgrn_posts_all
ON posts
USING pgroonga (title, content);
 

검색은

 
SELECT *
FROM posts
WHERE title &@ 'supabase'
   OR content &@ 'supabase';
 

처럼 사용할 수 있습니다.

 

 

 

 


 

 

 

 

언제 사용하면 좋을까?

다음과 같은 서비스에서 특히 유용합니다.

  • 게시판 검색
  • 블로그 검색
  • 문서 검색
  • 고객 문의 검색
  • 쇼핑몰 상품 검색
  • 위키 검색

검색 속도가 빠르고 한글 검색에도 강한 편이라 PostgreSQL만으로 검색 기능을 만들 때 많이 사용됩니다.

 

 

 


실무에서 많이 사용하는 예

예를 들어 사용자가 아래처럼 검색한다고 가정해 보겠습니다.

챗지피티
 

게시글 제목이

ChatGPT 사용법
 

이라면 단순한 LIKE 검색으로는 찾기 어렵습니다.

 

 

 

반면 PGroonga는 토크나이저 설정과 정규화 기능을 활용하면 이런 검색 품질을 높일 수 있습니다.

또는

인공지능
 

게시글이

인공지능으로 만드는 챗봇
 

이라면

 
SELECT *
FROM posts
WHERE title &@ '인공지능';
 

처럼 자연스럽게 검색할 수 있습니다.

이런 이유로 게시판, 블로그, 쇼핑몰 상품 검색, 문서 검색처럼 검색 기능이 중요한 서비스에서 PGroonga를 많이 사용합니다.

 

 

 

 


 

 

 

Supabase에서 제공하는 PGroonga는 사용자가 서버에 MeCab 같은 형태소 분석기를 추가 설치할 수 없습니다.

즉, 대부분의 경우 기본 토크나이저를 사용하게 되므로

  • 만드는 → 만드는 ✅
  • 만든 → 만드는 ❌
  • 만들 → 만드는 ❌ 또는 제한적

정도로 생각하는 것이 맞습니다.

 

 

정리

검색어만드는 챗봇 검색
만드는
만들 경우에 따라 가능
만든 기본 설정에서는 어려움
만들다 형태소 분석기 사용 시 가능

 

 

 


 

 

 

정리

PGroonga는 PostgreSQL 전용 전문 검색 엔진 확장입니다.

Supabase에서는 Extension만 활성화하면 바로 사용할 수 있으며,

  • 빠른 검색
  • 한글 검색 지원
  • 전문 검색 기능

을 쉽게 사용할 수 있다는 장점이 있습니다.

검색 기능을 직접 구현해야 하는 프로젝트라면 PostgreSQL 기본 Full Text Search와 함께 PGroonga도 한 번 고려해 볼 만한 선택지입니다.

 

 

 

 

댓글