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도 한 번 고려해 볼 만한 선택지입니다.
'스터디 > Etc' 카테고리의 다른 글
| 맥북용량이 없길레 보니까 Spotlight 때문이였다....... (0) | 2026.07.15 |
|---|---|
| TmaxSoft JEUS WebtoB 명령어 (0) | 2025.09.30 |
| Github LFS (대용량 처리) (0) | 2025.09.30 |
| 윈도우 프리징 현상 (livekernelevent 141, 117) 해결방법 (0) | 2025.02.02 |
| OBS Browser Camera Permission (0) | 2025.01.24 |
댓글