Community라이팅 & 에디팅github.com

tablestudioapp/plugins

사용자의 Mac에서 TableStudio를 통해 로컬 개발 데이터베이스를 설정하고 관리합니다. 프로젝트에 로컬 Postgres, MySQL, ClickHouse, SQLite 데이터베이스나 DATABASE_URL이 필요할 때, 로컬 데이터베이스 연결이 거부되거나 중단되었을 때, 또는 사용자가 임시/테스트 데이터베이스나 실험용 안전 복사본을 원할 때, PostgreSQL 확장(pgvector, PostGIS, pg_trgm)을 설치해야 할 때 사용하세요.

plugins란 무엇인가요?

이 스킬은 사용자의 Mac에서 로컬 데이터베이스 서버를 관리하는 TableStudio 애플리케이션과 상호작용하는 방법을 제공합니다. Postgres, MySQL, ClickHouse, SQLite 등 다양한 데이터베이스 엔진을 지원하며, Homebrew나 Postgres.app에서 가져온 데이터베이스도 관리할 수 있습니다. 주요 기능으로는 데이터베이스 연결 상태 확인 및 서버 시작/중지, 새 데이터베이스 생성 및 env_line(DATABASE_URL) 제공, 기존 데이터베이스의 연결 문자열 조회, 실험용 샌드박스 생성, PostgreSQL 확장 설치가 포함됩니다. 이 스킬은 AI 에이전트가 데이터베이스 연결 문제를 진단하고 해결하며, 프로젝트 환경 설정을 안전하게 구성할 수 있도록 도와줍니다. 특히 ECONNREFUSED 같은 연결 오류가 발생했을 때 서버 상태를 확인하고 필요한 조치를 취하는 데 적합합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/tablestudioapp/plugins/tree/HEAD/tablestudio/skills/local-databases

Installed? Explore more 라이팅 & 에디팅 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

TableStudio로 로컬 데이터베이스 관리하기

TableStudio는 이 Mac에서 데이터베이스 서버를 관리하며, Homebrew나 Postgres.app에서 가져온 서버도 포함합니다. 수동 Docker 명령이나 initdb보다 TableStudio 도구를 선호하세요. 결과가 사용자의 앱에 저장된 연결로 표시됩니다.

로컬 데이터베이스 "연결 거부" 오류

  1. connection_status (인수 없이 모든 연결을 보고). 쿼리를 실행하지 않으므로 데이터베이스가 다운되어도 작동하며, 연결을 백업하는 로컬 서버가 있는지와 해당 서버가 실행 중인지 알려줍니다.
  2. 서버가 중지된 경우, 반환된 instance_id로 start_local_database를 호출하세요. 서버가 이미 실행 중일 때 호출해도 안전합니다.
  3. 포트가 다른 무언가에 의해 사용 중인 경우, 오류가 해당 점유자를 알려줍니다. 사용자에게 알리고 프로세스를 종료하지 마세요.

list_local_databases는 모든 로컬 항목(관리되는 서버, 가져온 서버, SQLite 파일, TableStudio가 관리하지 않지만 포트를 점유한 서버)을 보여줍니다. 두 가지 ID를 기억하세요: instance_id는 서버(시작 및 중지에 사용), connection_id는 쿼리하는 데이터베이스입니다. 서로 바꿔 쓸 수 없습니다.

새 데이터베이스 만들기

create_local_database에 name과 engine을 전달하세요:

  • sqlite: 설치가 필요 없으며 즉시 생성됩니다. 사용자가 데이터를 저장할 공간만 원할 때 선호하세요.
  • postgres, mysql, clickhouse: 해당 엔진의 서버 바이너리가 Mac에 이미 설치되어 있어야 합니다. TableStudio는 어떤 것도 번들로 제공하지 않으며, 누락된 경우 도구가 알려줍니다. 설치 힌트를 전달하고 요청 없이 소프트웨어를 설치하지 마세요.

TableStudio 도구를 통해 쿼리할 수 있는 connection_id와 프로젝트용 env_line(DATABASE_URL=…)을 반환합니다. 그 다음:

  1. 사용할 env 파일(.env, .env.local)이 .gitignore에 포함되어 있는지 확인하세요. 그렇지 않으면 먼저 추가하세요.
  2. 해당 파일에 env_line을 넣되, 프로젝트가 이미 읽는 변수 이름(DATABASE_URL 또는 설정에 필요한 이름)을 사용하세요.
  3. 그에 대해 프로젝트의 마이그레이션(및 시드가 있다면 그것도)을 실행하세요.

연결 문자열을 채팅에 반복해서 표시하지 말고, 코드, 문서 또는 커밋에 절대 작성하지 마세요.

사용자가 요청하지 않는 한 stop_local_database를 정리 목적이나 포트 해제를 위해 호출하지 마세요. 이 명령은 해당 서버를 사용하는 모든 연결(사용자의 창 포함)을 끊습니다.

기존 로컬 데이터베이스의 연결 문자열

프로젝트가 TableStudio가 이미 알고 있는 로컬 데이터베이스에 접근해야 할 때(누락된 .env를 채우거나 테스트를 샌드박스로 연결하기 위해), get_connection_url을 connection_id와 함께 호출하고 위와 같이 env_line을 사용하세요.

  • TableStudio가 생성한 데이터베이스, 샌드박스, 암호가 없는 로컬 데이터베이스는 항상 사용 가능합니다.
  • 사용자가 자신의 암호로 저장한 로컬 연결은 허용한 경우에만 공유됩니다. 그렇지 않으면 거부 메시지가 설정 이름을 알려줍니다: 그 내용을 전달하거나 사용자가 직접 env 파일에 값을 붙여넣도록 하세요. 채팅에서 암호를 요청하지 마세요.
  • 원격 데이터베이스, SSH 터널, 프로덕션으로 태그된 모든 것은 절대 공유되지 않습니다. 이러한 경우 TableStudio 도구를 사용하세요.

실험용 안전 복사본 만들기

create_sandbox는 모든 연결의 일회용 로컬 복사본을 만듭니다(원본은 읽기 전용):

  • data: "none": 스키마만 복사합니다. DDL 시도에 가장 적합합니다.
  • data: "sample": 테이블당 최대 rows행을 복사합니다. 실제 행에 대해 데이터 수정을 확인하는 데 가장 적합합니다.
  • data: "fake": 행을 생성합니다.

샌드박스의 connection_id에 대해 원하는 작업을 수행하세요. 사용자는 한 번의 클릭으로 폐기하며, 당신은 삭제할 수 없습니다. 이전에 만든 샌드박스를 재사용하려면 list_sandboxes를 사용하세요.

PostgreSQL 확장

list_extensions는 서버가 설치할 수 있는 확장과 이미 설치된 확장을 보여줍니다. add_extension은 하나를 설치합니다(CREATE EXTENSION IF NOT EXISTS). 이를 스키마 변경으로 취급하세요: 공유 또는 프로덕션 데이터베이스에서는 실행하기보다 제안하세요. 그리고 저장소에 마이그레이션 도구가 있다면 다른 환경도 가져갈 수 있도록 거기에 추가하세요.

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

관련 스킬