PostGIS 공간 테이블 설계
PostGIS 기반 위치 데이터 테이블을 올바른 타입·좌표계·인덱스로 설계하도록 돕는 레퍼런스 스킬.
개발·코딩중급★ 1,809⑂ 104AI 점수 8/10마지막 업데이트: 2026. 6. 26.
무엇을 해주나
PostgreSQL + PostGIS 환경에서 공간 데이터 테이블을 설계할 때 필요한 판단 기준을 Claude에게 주입합니다.
- GEOMETRY vs GEOGRAPHY 선택: 지역 데이터/투영 좌표계는 GEOMETRY, 전 지구·GPS 데이터는 GEOGRAPHY 등 비교표 제공
- 좌표계(SRID) 가이드: 4326(WGS84), 3857(웹 머케이터), UTM 존별 사용처와 단위 정리
- 인덱스 전략: GiST(기본), 대용량 append-only용 BRIN, 포인트 전용 SP-GiST 선택 가이드
- 성능 패턴:
ST_Distance대신ST_DWithin,&&바운딩 박스 선필터, 생성 컬럼(GENERATED) 활용 - 데이터 검증:
ST_IsValid제약조건, SRID 일관성 확인, 좌표 범위 체크 - 주의사항: 경도/위도 순서, SRID 혼용 금지, SQL 인젝션 방지(파라미터 바인딩)
이런 분께 추천
- 배달·물류·부동산·IoT 등 위치 기반 서비스의 DB 스키마를 처음 설계하는 백엔드 개발자
- PostGIS를 쓰고는 있지만 인덱스가 안 타거나 거리 계산 단위가 헷갈리는 팀
- 기존 공간 테이블의 성능 병목을 리뷰받고 싶은 데이터 엔지니어
활용 예시
- "전국 매장 POI 테이블 만들어줘. 반경 1km 검색이 주 쿼리야" →
GEOGRAPHY(POINT, 4326)컬럼 + GiST 인덱스 +ST_DWithin기반 조회 쿼리까지 한 세트로 생성 - "토지 필지 폴리곤 테이블에 면적/중심점을 자동 계산하고 싶어" →
GENERATED ALWAYS AS (ST_Area(boundary::GEOGRAPHY)) STORED형태의 생성 컬럼과 유효성 제약조건 제안 - "차량 GPS 로그가 1억 건인데 쿼리가 느려" → 디바이스+시간 복합 인덱스, GiST/BRIN 선택 근거,
ST_MakeLine으로 경로 재구성하는 쿼리 제시
· · · 설치 가이드 · · ·
Claude 앱에 설치 (터미널 필요 없음)
- 아래 버튼으로 ZIP 파일을 받으세요.
- Claude 설정 → Capabilities에서 '코드 실행 및 파일 생성'을 켭니다. (한 번만)
- Claude에서 Customize → Skills → + → '스킬 업로드'를 누르고 받은 ZIP을 올립니다.
Claude Code에 설치
Claude에게 맡기기 — 아래 문장을 Claude Code에 붙여넣으세요
클로드스킬마트에서 찾은 스킬을 설치해줘. GitHub 저장소 timescale/pg-aiguide 의 skills/design-postgis-tables 폴더를 내 ~/.claude/skills/design-postgis-tables/ 에 그대로 복사해줘. 설치가 끝나면 이 스킬로 무엇을 할 수 있는지 한 줄로 알려줘.
직접 명령으로 설치하기
git clone https://github.com/timescale/pg-aiguide.git && mkdir -p ~/.claude/skills && cp -r pg-aiguide/skills/design-postgis-tables ~/.claude/skills/⚠ 제3자가 만든 스킬입니다. 설치 전 원본 저장소를 한 번 확인하세요.
- 터미널을 엽니다.
- 스킬 저장소를 내려받습니다:
git clone https://github.com/timescale/pg-aiguide.git - 스킬 폴더가 없다면 만듭니다:
mkdir -p ~/.claude/skills - 스킬을 복사합니다:
cp -r pg-aiguide/skills/design-postgis-tables ~/.claude/skills/ - Claude Code를 재시작한 뒤
/skills로 목록에 나타나는지 확인합니다. - 사용 전 DB 환경을 점검합니다. PostgreSQL 15 이상에서
CREATE EXTENSION IF NOT EXISTS postgis;를 실행해 두세요. - 대화창에 "PostGIS로 매장 위치 테이블 설계해줘"처럼 요청하면 스킬이 적용됩니다.
GitHub에서 원본 보기 ↗라이선스: Apache-2.0