지원 플랫폼
사전 요구사항
- 네트워크를 통해 CloudThinker에서 접근 가능한 PostgreSQL 인스턴스.
- 전용 사용자를 생성하고 권한을 부여할 관리자 접근.
- 쿼리 수준 분석(느린 쿼리 데이터에 필요)을 원한다면
pg_stat_statements익스텐션 설치.
설정
1
관리자로 연결
관리자 계정을 사용하여 PostgreSQL 인스턴스에 연결하세요:
2
읽기 전용 사용자 생성
CloudThinker 전용 사용자를 생성하세요:
3
연결 및 스키마 접근 권한 부여
연결 및 스키마 사용 권한을 허용하세요:
4
SELECT 권한 부여
현재 및 향후 테이블/뷰에 대한 SELECT 권한을 부여하세요:
5
pg_stat_statements 활성화
쿼리 분석에 이 익스텐션이 필요합니다:RDS/Aurora의 경우 파라미터 그룹에 추가하세요:
6
네트워크 접근 설정
CloudThinker가 데이터베이스에 접근할 수 있는지 확인하세요:
- CloudThinker IP를 보안 그룹 또는 방화벽에 추가
- RDS의 경우: 공개 접근 활성화 또는 VPC 피어링 사용
7
CloudThinker에 연결 추가
Connections → PostgreSQL로 이동하여 다음을 입력하세요:
- Host: 데이터베이스 호스트명 또는 IP
- Port: 데이터베이스 포트 (기본값:
5432) - Database: 데이터베이스 이름
- Username:
cloudthinker_readonly - Password: 위에서 설정한 비밀번호
- SSL mode:
require(권장)
연결 세부 정보
연결 문자열 형식:
필요 권한
최소
권장 (전체 분석)
에이전트 기능
연결이 완료되면 Tony가 할 수 있는 작업:연결 확인
예시 프롬프트
문제 해결
연결 거부됨
연결 거부됨
- 호스트와 포트가 올바른지 확인하세요
- 보안 그룹 또는 방화벽이 CloudThinker IP를 허용하는지 확인하세요
- RDS의 경우: “공개적으로 접근 가능”이 활성화되어 있는지 또는 VPC 피어링을 사용하는지 확인하세요
- PostgreSQL이 올바른 인터페이스에서 수신 대기 중인지 확인하세요
인증 실패
인증 실패
- 사용자 이름과 비밀번호가 올바른지 확인하세요
pg_hba.conf가 연결 방법을 허용하는지 확인하세요- 사용자에게 데이터베이스에 대한
CONNECT권한이 있는지 확인하세요
pg_stat_statements 누락
pg_stat_statements 누락
- 익스텐션 설치 확인:
SELECT * FROM pg_extension WHERE extname = 'pg_stat_statements'; shared_preload_libraries에pg_stat_statements가 포함되어 있는지 확인하세요shared_preload_libraries변경 후 PostgreSQL을 재시작하세요- RDS의 경우: 파라미터 그룹을 수정하고 인스턴스를 재부팅하세요
권한 거부됨
권한 거부됨
- 사용자에게 필요한 테이블에 대한
SELECT권한이 있는지 확인하세요 - PostgreSQL 14+에서는
pg_read_all_stats역할을 부여하세요 - psql에서
\dn+으로 스키마 권한을 확인하세요
보안
- 최소 권한 — 에이전트가 사용 사례에 필요한 권한만 부여하세요. 읽기 전용으로 시작한 후 필요에 따라 확장하세요.
- 기본 읽기 전용 — 에이전트가 이 연결을 통해 변경 작업을 수행하게 할 것이 아니라면 읽기 전용 자격증명을 사용하세요.
- 자격증명 교체 — 정기 일정에 따라 키와 토큰을 교체하세요. 연결을 업데이트하면 CloudThinker가 새 값을 자동으로 반영합니다.
- 오프보딩 시 취소 — 연결을 삭제하거나 팀원이 퇴사할 때 프로바이더에서 자격증명을 제거하세요.
- SSL 필수 — 전송 중 데이터를 암호화하려면 항상 SSL 모드
require이상을 사용하세요. - 최소 권한 — CloudThinker 사용자에게
SELECT만 부여하고 쓰기 접근은 절대 부여하지 마세요.
관련 항목
Tony 에이전트
데이터베이스 중심 최적화 에이전트
MySQL 연결
MySQL 데이터베이스의 유사한 설정