본문 바로가기

PostgreSQL

(3)
AI 에이전트를 위한 PostgreSQL 베스트 프랙티스: Supabase Agent Skills 완벽 가이드 > 이 글은 [supabase/agent-skills](https://github.com/supabase/agent-skills)를 기반으로 정리했습니다.들어가며AI 코딩 에이전트가 데이터베이스 스키마를 설계하고 쿼리를 작성하는 시대가 되었습니다. Claude Code, Cursor, GitHub Copilot 같은 도구들이 SQL 코드를 생성하고, MCP(Model Context Protocol)를 통해 데이터베이스와 직접 상호작용하기도 합니다.하지만 AI 에이전트가 생성한 코드가 항상 최적은 아닙니다. 인덱스 없이 대용량 테이블을 조회하거나, RLS(Row Level Security) 정책을 비효율적으로 구성하거나, 커넥션 풀링을 무시한 채 직접 연결을 남발하는 경우가 흔합니다.Supabase는 이 ..
PostgresSQL 로 데이터 마이그레이션 후 Sequence 중복 오류가 뜰때 PostgreSQL로 Data를 pg_dump를 사용하여 Dump 하고 그 결과를 Restore 할 때 Sequence 가 제대로 마이그레이션이 되지 않는 경우가 있다. 보통 Bigserial이나 Serial과 같은 DataType을 쓰는 경우에 이런 문제가 발생했고, 새로운 Data를 Insert 할 때 Sequence 가 이미 있어 중복 오류가 발생하여 이 상황을 확인할 수 있었다. duplicate key value violates unique constraint "vouchers_pk"; nested exception is io.r2dbc.postgresql.ExceptionFactory$PostgresqlDataIntegrityViolationException: [23505] duplicate ..
PostgreSQL 데이터베이스 단위 유저 추가 PostgreSQL (14.3)에 새로운 Database를 만들고, Schema 도 추가했다. MySQL을 생각하고 상위 개체인 Database에 All 권한을 주었는데, GRANT ALL PRIVILEGES ON DATABASE {database_name} to {user_name}; 테이블 조회는 되지만 데이터는 권한이 없어 조회가 되지 않았다. 맨 처음엔 MySQL 처럼 Flush 를 해주어야 하는가 싶어 찾아봤지만 없었다. Schema 도 별도로 줘야 하는 것 같아서 해당 권한을 설정해주었다. Table 및 Sequence 까지도 설정을 해주어야 함을 잊지 않아야 한다. GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA {schema_name} to {user_nam..