Visual Studio Code용 PostgreSQL 확장에는 이제 GitHub Copilot 통합이 포함되어 AI 지원 개발을 통해 데이터베이스 워크플로를 향상합니다. Copilot는 PostgreSQL 데이터베이스에 연결되면 라이브 연결에서 컨텍스트 정보에 액세스합니다. 이 액세스를 통해 @pgsql Copilot 채팅 참가자는 정확하고 스키마 인식 SQL 쿼리 및 인사이트를 생성하여 Visual Studio Code 내에서 개발을 간소화하고 컨텍스트 전환을 최소화할 수 있습니다.
Prerequisites
시작하기 전에 적절한 도구와 리소스를 다운로드하여 설치했는지 확인합니다.
이러한 도구와 리소스는 이 문서를 따르고 Visual Studio Code의 PostgreSQL 확장에 대한 GitHub Copilot 통합을 최대한 활용하는 데 도움이 됩니다.
- 컴퓨터에 설치된 Visual Studio Code입니다.
- PostgreSQL 데이터베이스가 로컬로 설치되거나 클라우드에 호스트됩니다.
- Visual Studio Code에 설치된 PostgreSQL 확장입니다.
- GitHub Copilot 확장
- GitHub Copilot 채팅 확장 이 설치되었습니다.
- 클라우드 호스팅 데이터베이스에 연결하기 위한 Azure 계정(선택 사항).
GitHub Copilot 및 GitHub Copilot 채팅 확장 설치
Visual Studio Code에 GitHub Copilot 확장이 아직 설치되어 있지 않은 경우:
Visual Studio Code에서 확장 아이콘을 선택하고 GitHub Copilot를 검색한 다음 설치를 선택합니다.
GitHub Copilot 채팅 확장은 GitHub Copilot와 함께 자동으로 설치됩니다.
Visual Studio Code에서 GitHub에 로그인
GitHub 계정 및 활성 GitHub Copilot 구독이 있는지 확인합니다.
Visual Studio Code에서 계정 아이콘을 선택하고 GitHub로 로그인을 선택하여 GitHub Copilot를 사용합니다.
GitHub Copilot 사용 시작하기
PostgreSQL Visual Studio Code 확장과 함께 GitHub Copilot 사용을 시작하는 단계를 수행합니다.
PostgreSQL 데이터베이스를 마우스 오른쪽 단추 로 클릭하고 이 데이터베이스로 채팅을 선택합니다.
메시지가 표시되면 GitHub Copilot가 데이터베이스 연결 컨텍스트에 액세스할 수 있도록 허용 을 선택합니다.
Copilot 채팅 인터페이스가 열리면 접두사를 사용하여
@pgsqlPostgreSQL 데이터베이스와 상호 작용하도록 지정하여 질문하기 시작합니다.
다음과 같은 프롬프트를 사용해 보세요.
@pgsql tell me about the tables in the HR schema
- Copilot은 데이터베이스 스키마의 테이블에 대한 자세한 설명으로 응답합니다.
읽기 및 쓰기 기능 사용
Visual Studio Code의 PostgreSQL 확장에 대한 GitHub Copilot 통합을 사용하면 원활한 읽기 및 쓰기 기능을 사용할 수 있습니다. 이 통합을 통해 데이터베이스와 보다 효율적으로 상호 작용할 수 있습니다. AI 기반 제안을 사용하여 데이터 쿼리, 스키마 수정 및 편집기에서 직접 레코드 업데이트와 같은 작업을 수행할 수 있습니다. 이 기능은 복잡한 작업을 간소화하고, 수동 작업을 줄이며, 정확도와 컨텍스트 인식을 유지하면서 생산성을 향상시킵니다.
Note
PostgreSQL용 GitHub Copilot Chat 통합은 데이터베이스를 변경할 수 있는 강력한 도구입니다. 특히 스테이징 및 프로덕션 환경에서는 주의해서 이 기능을 사용합니다. 생성된 SQL 코드를 실행하기 전에 항상 검토하고 안전한 환경에서 먼저 테스트하는 것이 좋습니다.
고급 프롬프트를 사용해 보세요.
@pgsql convert the hr.employees table to use a JSONB column for the address field
부조종사에서 SQL 제안에 응답하고 변경 권한을 요청할 수 있습니다.
실행을 승인하려면 다음을 수행합니다.
@pgsql Yes, please make the JSONB column for me
그런 다음 코필로트는 확인을 요청합니다.
@pgsql Yes, I confirm
상황에 맞는 메뉴 옵션 사용
- 편집기에서 SQL 코드를 선택하고 마우스 오른쪽 단추를 클릭하여 쿼리 설명, 쿼리다시 쓰기 또는 쿼리 성능 분석과 같은 GitHub Copilot 상황에 맞는 메뉴 옵션에 액세스할 수 있습니다.
추가 아이디어 및 프롬프트 레시피
PostgreSQL용 GitHub Copilot로 수행할 수 있는 많은 프롬프트와 작업이 있습니다. 한계는 여러분의 상상력에 불과합니다! 몇 가지 아이디어를 시작하기 위해 데이터베이스 컨텍스트 및 개발 환경에 맞게 수정하거나 시도할 수 있는 몇 가지 개념 프롬프트는 다음과 같습니다.
쿼리 최적화
이러한 프롬프트를 사용하여 특정 쿼리 최적화 문제를 해결하는 Copilot를 안내합니다. Copilot의 도움을 받아 효율적이고 안정적인 데이터베이스 작업을 수행할 수 있습니다.
I'm working on optimizing my database for high-concurrency workloads. The table is called transactions with millions of records, and I'm experiencing deadlocks under a heavy load. Help me optimize my table schema and queries.
I need help writing a query. The data is stored in the orders table, which uses the columns customer_id, order_date, and total_price. I also need to include a rolling 3-month average of customer spending using a window function.
I'm getting this error: 'ERROR: column `orders.total_price` must appear in the GROUP BY clause or be used in an aggregate function.
성능 최적화
이러한 프롬프트를 사용하여 코필로트가 특정 성능 최적화 문제를 해결하도록 안내합니다. Copilot의 도움을 받아 더 빠르고 효율적인 데이터베이스 작업을 수행할 수 있습니다.
Provide the Explain Plan for my most recent query, and please explain each step.
Can you run some performance metrics on my database and tell me how it performs?
My orders table has 10 million records, and queries on customer_id and order_date are slow. How can I optimize indexing, partitioning, and schema design for performance?
앱 개발
이러한 프롬프트를 사용하여 앱 개발 문제를 해결하는 Copilot를 안내합니다.
Generate a FastAPI endpoint to fetch orders from the ecom.orders table with pagination.
Generate an ETL pipeline script to clean and normalize the customer table data.
Generate a FastAPI project with my database using SQLAlchemy.
정리
원활한 환경을 보장하려면 이 빠른 시작 중에 만든 임시 리소스 또는 구성을 정리합니다. 다음은 그 예입니다.
- Visual Studio Code의 PostgreSQL 데이터베이스에서 연결을 끊습니다.
- 세션 중에 만든 테스트 데이터베이스 또는 테이블을 제거합니다.
- 불필요한 리소스 사용을 방지하기 위해 열려 있는 연결을 닫습니다.
피드백 및 지원
버그, 기능 요청 및 문제의 경우 Visual Studio Code의 기본 제공 피드백 도구를 사용합니다. Visual Studio Code 도움말 메뉴 또는 PGSQL 명령 팔레트를 통해 이 피드백을 완료할 수 있습니다.
도움말 메뉴
- 도움말 > 보고서 문제로 이동
명령 팔레트
- 명령 팔레트
Ctrl + Shift + P를 열고 다음을 실행합니다.PGSQL: Report Issue
- 명령 팔레트