Snowflake Postgres로 CLI Cortex Code 사용하기¶
Cortex Code CLI Postgres 기술을 통해 Postgres 데이터베이스에 대한 자연어 질문을 하고 Cortex Code가 SQL을 생성 및 실행하도록 할 수 있습니다. 모든 쿼리를 직접 작성할 필요 없이 디버깅, 스키마 탐색, 경량 분석을 수행할 수 있도록 설계되었습니다.
설치, 연결 설정 및 일반 Cortex Code CLI 사용법은 Cortex Code CLI 섹션을 참조하세요.
이 Postgres 고유의 스킬은:
Snowflake Postgres 인스턴스를 생성하고 관리하는 데 도움이 됩니다.
자연어 질문을 Postgres SQL로 변환합니다.
생성된 SQL을 구성된 Postgres 인스턴스에 실행합니다.
짧고 읽기 쉬운 요약과 선택적 원시 결과를 반환합니다.
Postgres와 Snowflake 간의 오브젝트 저장 및 데이터 이동을 위해 Snowflake 스테이지 또는 S3 버킷을 통해
pg_lake를 설정할 수 있습니다.
연결 관리하기¶
이 스킬은 PostgreSQL의 네이티브 ~/.pg_service.conf 및 ~/.pgpass 파일을 사용하여 연결을 저장하므로 모든 표준 PostgreSQL 클라이언트(psql, pgAdmin, DBeaver 등)와 호환됩니다. Cortex Code에 인스턴스 생성 또는 자격 증명 재설정을 요청하면 pg_connect.py 를 통해 연결이 자동으로 저장됩니다.
경고
채팅 또는 로그에 .pgpass 내용을 표시하지 마세요. 모든 자격 증명 작업에 pg_connect.py 를 사용합니다.
쿼리 실행하기¶
연결이 저장되면 Cortex Code는 채팅에서 직접 인스턴스에 대해 psql 명령을 실행할 수 있습니다. 비밀번호는 ~/.pgpass 에서 자동으로 확인됩니다. 자연어 프롬프트를 사용할 수 있습니다.
“my_instance의 모든 테이블 표시”
“주문 테이블에 SELECT를 실행하여 마지막 10개 행 가져오기”
“사용자 테이블에 존재하는 인덱스”
Cortex Code는 이러한 질문을 psql 명령으로 변환하고, 인스턴스가 준비되었는지 확인하고(일시 중단된 경우 자동 재개), 쿼리를 실행하고, 결과를 표시합니다.
Cortex Code는 명시적으로 요청하지 않는 한, 쓰기 작업(INSERT, UPDATE, DELETE, DROP, TRUNCATE)을 실행하지 않습니다. 쓰기 작업을 진행하려면 확인이 필요합니다.
Postgres 상태 확인¶
pg_doctor 는 30초의 문 시간 제한으로 Postgres 인스턴스에 대해 상태 확인을 실행하는 읽기 전용 진단 도구입니다.
확인 |
설명 |
임계값 |
|---|---|---|
|
인덱스 및 테이블 캐시 적중률 |
통과: >= 99%/경고: 95~99%/실패: < 95% |
|
테이블 및 인덱스 비대화 추정 |
통과: < 30% / Warn: 30-50% / Fail: > 50% |
|
활성화되지 않은 행 및 자동 배큠 상태 |
테이블에 배큠이 필요한 경우 경고 |
|
역할당 연결 수 |
정보용 |
|
독점 잠금 보유 |
잠금이 있는 경우 경고 |
|
차단된 쿼리 |
쿼리가 차단된 경우 실패 |
|
5분 이상 실행되는 쿼리 |
발견 시 경고 |
|
느린 상위 쿼리( |
정보용 |
|
인덱스가 스캔되지 않음 |
발견 시 경고 |
|
테이블 크기 분석(합계, 인덱스, 경량 알림) |
정보용 |
결과를 제시한 후 Cortex Code는 플래그가 지정된 검사에 대해 설명하고 추가 조사를 제안합니다. 모든 수정 작업(VACUUM, REINDEX 등)은 실행 전에 명시적인 확인이 필요합니다.
pg_lake 설정하기¶
pg_lake 는 Snowflake Postgres 인스턴스에서 오브젝트 저장소 및 S3 데이터 이동을 지원하는 PostgreSQL 확장 프로그램입니다. 확장 프로그램 자체에 대한 자세한 내용은 pg_lake용 S3 저장소 구성하기 섹션을 참조하세요.
Cortex Code 스킬은 Snowflake 스테이지 및 Snowflake 외부에서 관리되는 S3 버킷 모두에 대한 다중 시스템 설정(Snowflake SQL, AWS IAM, Postgres SQL)을 지원합니다. Cortex Code에 대화형으로 설정 과정을 안내하도록 요청할 수 있습니다.
“s3://my-bucket/data/로 pg_lake 설정”
“my_instance에서 Snowflake 관리 스테이지로 pg_lake 구성”
승인 게이트¶
Cortex Code는 청구 가능하거나, 지장을 주거나, 보안에 민감한 작업을 실행하기 전에 확인이 필요합니다.
작업 |
이유 |
|---|---|
인스턴스 생성/일시 중단 |
청구 가능한 리소스 또는 활성 연결 삭제 |
네트워크 정책 변경 사항 |
액세스 제어 수정 |
저장소 통합 생성/수정 |
클라우드 리소스( |
AWS 신뢰 정책 업데이트 |
IAM 권한 수정 |
삭제/지장을 주는 작업 |
영구적인 데이터 손실 |
진단에서 쓰기 작업 |
|
읽기 전용 작업(SHOW, DESCRIBE, 상태 확인, SELECT 쿼리)은 승인이 필요하지 않습니다.