Skip to main content

PostgreSQL 반복 쿼리 자동화

요약: PostgreSQL 데이터베이스에 연결된 에이전트로 정기 지표 쿼리를 실행하고, 결과를 정해진 포맷으로 자동 리포트. 단순 일일 KPI부터 이상 탐지·트렌드 분석·고객 코호트·재고 알림까지 광범위하게 활용 가능합니다.

먼저 읽어주세요 — 읽기 전용 보고서 용도로만 권장

AI 가 실수 또는 외부 프롬프트의 영향으로 DELETE / UPDATE / DROP 같은 파괴적 쿼리를 임의로 실행할 가능성이 있습니다. 본 레시피는 정기 보고서 출력·지표 조회 같은 읽기 전용 용도로만 연동 하시길 권장합니다. 데이터를 추가하거나 수정하는 작업은 자동화하지 마세요.
최소 안전장치
  1. 읽기 전용 DB 계정 으로만 연결 — GRANT SELECT 만 부여, INSERT/UPDATE/DELETE/DROP/TRUNCATE 는 DB 레벨에서 차단
  2. 가능하면 운영 DB 가 아닌 Read Replica·분석용 DB 에 연결
  3. 민감 컬럼(개인정보·결제 정보) 은 뷰로 마스킹하거나 컬럼 권한 제거
  4. System Prompt 에 SELECT 외 쿼리 금지 명시
데이터 변경이 필요한 파이프라인이 있다면 에이전트가 아닌 검증된 ETL 도구 를 사용하고, 에이전트는 조회·요약·리포트 생성 까지만 담당하도록 역할을 분리하세요.

활용 시나리오

요구 사항

PostgreSQL 접속 설정은 사용자 화면이 아닌 운영자 Console 에서 선행 되어야 합니다.PostgreSQL 템플릿의 환경변수(PG_HOST · PG_PORT · PG_USER · PG_PASSWORD · PG_DBNAME · PG_SSLMODE · TOOL_DESC)는 전부 System Default 타입 입니다. 사용자가 도구 생성 화면에서 직접 입력하지 못하며, 운영자가 Internal → System Management → Environment 에서 세팅 해야 런타임에 자동 주입됩니다.진행 순서
  1. 운영자에게 DB 접속 정보(호스트·계정·DB 명) 전달 + 연결 요청
  2. 운영자가 Environment 에 7 개 환경변수 등록
  3. 그 다음에 사용자 화면(Tool Management)에서 PostgreSQL 템플릿 생성 → Save
  4. 도구 상세Test 로 연결 확인
Environment 세팅이 누락된 상태로 템플릿을 만들면 도구는 등록되지만 호출 시 조용히 실패 합니다. 상세 동작·타입 구분: PostgreSQL 템플릿 → Environment Variables

단계

1

에이전트 + PostgreSQL 도구 등록

Console → Tool Management → 도구 생성PostgreSQL 템플릿 선택. 환경변수 POSTGRES_CONNECTION_STRING 에 읽기 전용 연결 문자열 입력. 자세한 설정: PostgreSQL 템플릿
2

MCP Tools 패널에서 활성화

채팅 툴바 [1] MCP Tools 패널에서 postgresql 서버 체크 → Apply.
3

스키마 탐색

첫 실행 시 에이전트에게 스키마를 알려줍니다:
프롬프트 예시: “postgresql 에 연결된 DB에서 public 스키마의 테이블 목록과 각 테이블의 컬럼을 알려줘.”
에이전트가 list_tables, get_table_schema 도구를 Tool Call 카드로 호출하며 구조 파악.
4

쿼리 자연어로 실행

프롬프트 예시: “어제 하루 주문 건수를 region 별로 집계하고, 상위 5개 지역을 표로 보여줘.”
에이전트가 execute_query 로 SQL 실행. 결과는 Tool Call 카드 + 자연어 요약으로 표시.
5

Flow Studio 에 저장 (재사용)

반복 실행할 쿼리 플로우를 Flow Studio 로 저장:
  • 노드 1: execute_query(sql="...")
  • 노드 2: LLM 응답 포맷 (예: Markdown 표)
  • 노드 3: (선택) Slack 메시지 전송
6

Scheduler 로 반복 예약

사용자 메뉴 → Scheduler+ New Schedule:
  • Flow: 저장한 Flow 이름
  • Cron: 0 9 * * MON (매주 월요일 9시) 또는 0 9 * * * (매일 9시)
  • Timezone: Asia/Seoul
실행 결과는 Scheduler 이력에서 확인 + Slack 전송 시 채널에 자동 게시.

프롬프트 템플릿

일일 지표 리포트

이상 탐지 (Outlier)

코호트 분석 (Retention)

A/B 테스트 결과

재고 부족 알림

데이터 품질 점검

자연어 임원 요약

주의사항

  • 읽기 전용 계정 필수 — 에이전트가 UPDATE/DELETE 하지 않도록 DB 권한에서 차단
  • 쿼리 복잡도 — 비용이 큰 풀스캔 쿼리는 인덱스 추가 또는 LIMIT 강제
  • 실행 시간 제한 — 툴 호출 타임아웃 고려 (기본 30–60초)
  • 민감 정보 — PII 컬럼은 SELECT 대상에서 제외하거나 마스킹 뷰 사용
Tool 호출 실패 시 Blocked API Keys 나 DB 접속 로그를 먼저 확인하세요.

변형·응용

  • 다중 DB 조합 — PostgreSQL + GitHub MCP → 배포 일자와 매출 변화 상관 분석
  • RAG + SQL 하이브리드 — 사내 위키(Storage 문서) + DB 지표 → “이번 분기 매출 하락 원인” 같은 질의에 정량+정성 답변
  • 사용자 권한별 마스킹 뷰 — 영업·재무·임원 등 역할별 다른 뷰를 에이전트에 노출
  • 자연어 → SQL → 시각화 — 결과를 Plotly Tool 로 차트 생성
  • 장애 자동 분석 — 모니터링 알람 발생 시 Slack → 에이전트 호출 → 관련 SQL 자동 실행 → 1차 분석 보고

관련 레시피