Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La extensión de PostgreSQL para Visual Studio Code incluye integración con GitHub Copilot, lo que mejora sus flujos de trabajo de bases de datos mediante desarrollo asistido por IA. Una vez conectado a una base de datos PostgreSQL, Copilot accede a información contextual desde tu conexión activa. Este acceso permite al participante de @pgsql Copilot Chat generar consultas SQL precisas, con conocimiento del esquema, y conclusiones, lo que agiliza el desarrollo y minimiza los cambios de contexto en Visual Studio Code.
El @pgsql participante trabaja en cualquier base de datos a la que se pueda conectar la extensión, entre las que se incluyen:
- clústeres de Azure HorizonDB.
Cuando se conecta a un clúster de HorizonDB, Copilot conoce las extensiones específicas de HorizonDB instaladas en la base de datos (por ejemplo, pgvector, pg_diskann, azure_ai y age) y pueden generar mensajes y SQL que aprovechen sus ventajas.
Prerequisites
Antes de empezar, compruebe que tiene las herramientas y los recursos adecuados descargados e instalados.
- Visual Studio Code instalado en el equipo.
- Una base de datos PostgreSQL instalada localmente o hospedada en Crear un clúster Azure HorizonDB.
- Extensión postgreSQL instalada en Visual Studio Code.
- GitHub Copilot extensión.
- Extensión de Chat de Copilot de GitHub instalada.
- Cuenta de Azure para conectarse a bases de datos hospedadas en la nube (opcional).
Instalación de extensiones de GitHub Copilot y GitHub Copilot Chat
Si aún no tiene instalada la extensión Copilot de GitHub en Visual Studio Code:
- Seleccione el icono Extensiones en Visual Studio Code, busque GitHub Copilot y seleccione Instalar.
- La extensión GitHub Copilot Chat se instala automáticamente junto con GitHub Copilot.
Inicia sesión en GitHub desde Visual Studio Code
- Asegúrese de que tiene una cuenta de GitHub y una suscripción de GitHub Copilot activa:
- En Visual Studio Code, seleccione el icono Account y elija Sign in with GitHub to use GitHub Copilot.
Introducción a GitHub Copilot
Siga los pasos para empezar a usar GitHub Copilot con la extensión de Visual Studio Code de PostgreSQL.
- Haga clic con el botón derecho en una base de datos postgreSQL en el Explorador de objetos y seleccione Chat con esta base de datos. Esto funciona para cualquier conexión: PostgreSQL local o Azure HorizonDB.
- Si se le solicita, seleccione Permitir para habilitar GitHub Copilot para acceder al contexto de conexión de la base de datos.
- Cuando se abra la interfaz de chat de Copilot, empiece a formular preguntas mediante el
@pgsqlprefijo para especificar que desea interactuar con la base de datos postgreSQL.
Pruebe una sugerencia como:
@pgsql tell me about the tables in the HR schema
Copilot responde con una descripción detallada de las tablas del esquema.
Conexión al punto de conexión correcto de HorizonDB
Dado que un clúster de Azure HorizonDB expone dos puntos de conexión, la conexión en la que inicia el chat determina en qué punto de conexión se ejecuta el SQL generado por Copilot:
- Extremo de lectura/escritura - Use esta conexión cuando desee que Copilot redacte, modifique o ejecute instrucciones que cambien datos o el esquema, o que deban leer el estado confirmado más reciente.
- Punto de conexión de lector: use esta conexión cuando quiera que Copilot redacte y ejecute consultas de solo lectura que se beneficien del escalado horizontal con equilibrio de carga entre réplicas de alta disponibilidad (por ejemplo, para análisis exploratorio o solicitudes de informes).
Si Copilot genera una instrucción de escritura mientras está conectado al punto de conexión del lector, cambie la conexión activa al punto de conexión de lectura y escritura antes de aprobar la ejecución.
Uso de funcionalidades de lectura y escritura
La integración de GitHub Copilot para la extensión PostgreSQL en Visual Studio Code admite operaciones de lectura y escritura. Puede consultar datos, modificar esquemas y actualizar registros directamente desde el editor con sugerencias con tecnología de IA que tienen en cuenta el contexto de conexión dinámica.
Note
La integración de GitHub Copilot Chat para PostgreSQL puede realizar cambios en la base de datos. Use esta característica con precaución, especialmente en entornos de ensayo y producción. Revise siempre el código SQL generado antes de ejecutarlo y considere la posibilidad de probarlo primero en un entorno seguro. En Azure HorizonDB, asegúrese también de que las operaciones de escritura tienen como destino el punto de conexión de read/write: el punto de conexión del lector es de solo lectura.
Pruebe una instrucción más avanzada:
@pgsql convert the hr.employees table to use a JSONB column for the address field
Copilot puede responder con sugerencias de SQL y pedir permiso para realizar cambios.
Para aprobar la ejecución:
@pgsql Yes, please make the JSONB column for me
A continuación, Copilot solicita confirmación:
@pgsql Yes, I confirm
Usar opciones de menú contextual
Puede seleccionar código SQL en el editor y hacer clic con el botón derecho para acceder a las opciones del menú contextual de GitHub Copilot, como Explicar consulta, Reescribir consulta o Analizar rendimiento de consultas. En HorizonDB, las explicaciones y las sugerencias de reescritura también tienen en cuenta los índices específicos de HorizonDB (como pg_diskann los índices vectoriales) cuando están presentes.
Otras ideas y recetas rápidas
En las secciones siguientes se muestran avisos de concepto que puede probar o modificar para que coincidan con el contexto de la base de datos y el entorno de desarrollo.
Optimización de las consultas
Use estas indicaciones para guiar a Copilot para abordar desafíos específicos de optimización de consultas.
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.'
Optimización del rendimiento
Use estas indicaciones para guiar a Copilot para abordar desafíos específicos de optimización del rendimiento.
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?
Desarrollo de aplicaciones
Use estas indicaciones para guiar a Copilot para abordar los desafíos de desarrollo de aplicaciones.
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.
Cargas de trabajo de IA en Azure HorizonDB
Cuando esté conectado a un clúster de HorizonDB, puede usar Copilot para crear funcionalidades de INTELIGENCIA ARTIFICIAL de HorizonDB: pgvector, pg_diskann (con filtrado avanzado) y las funciones de IA de azure_ai respaldadas por AI Model Management (versión preliminar limitada) o sus propias implementaciones de Microsoft Foundry.
@pgsql Create a products table with a description column and a vector(1536) embedding column. Then write a query that populates the embedding column for any rows where it's NULL using azure_openai.create_embeddings with the default-embedding managed model.
@pgsql Build a pg_diskann index on the products.embedding column using vector_cosine_ops, then write a similarity search that finds the top 10 products with average_rating > 4.5 and price between 100 and 200 - using DiskANN Advanced Filtering so the WHERE clause is evaluated during the vector search.
@pgsql Use azure_ai.extract() to pull product and sentiment out of the review_text column of the product_reviews table, and azure_ai.is_true() to flag reviews that mention shipping issues.
@pgsql I have a Microsoft Foundry deployment of gpt-5 in my own subscription. Show me how to register it with model_registry.model_add as 'gpt-5-byom' and then call azure_ai.generate() with that alias to rewrite the comment_text column of user_comments to be more polite.
Escalado horizontal de lectura
Cuando está conectado al punto de conexión del lector de un clúster de HorizonDB, puede pedirle a Copilot que redacte cargas de trabajo de solo lectura que aprovechen las réplicas de alta disponibilidad con equilibrio de carga:
@pgsql Generate a reporting query against the orders and customers tables that aggregates monthly revenue by region and customer segment. Make sure the query is read-only so it's safe to run against the HorizonDB reader endpoint.
Limpieza
Para garantizar una experiencia fluida, limpie los recursos o configuraciones temporales que creó durante este inicio rápido. Por ejemplo:
- Desconecte de la base de datos postgreSQL en Visual Studio Code.
- Quite todas las bases de datos, tablas o índices de prueba (incluidos los
pg_diskanníndices) que haya creado durante la sesión. - Cierre las conexiones abiertas para evitar el uso innecesario de recursos.
Comentarios y soporte técnico
Para errores, solicitudes de características y problemas, use la herramienta de comentarios integrada en Visual Studio Code. Puede completar estos comentarios mediante el menú Ayuda de Visual Studio Code o la paleta de comandos PGSQL.
-
Menú Ayuda
- Vaya a Ayuda > Informar de Problema
-
Paleta de comandos
- Abra la paleta de comandos con
Ctrl + Shift + Py ejecute:PGSQL: Report Issue
- Abra la paleta de comandos con