¿Qué es la extensión PostgreSQL para Visual Studio Code? (Versión preliminar)

La extensión postgreSQL para Visual Studio Code simplifica la administración y el desarrollo de bases de datos de PostgreSQL. Puede conectarse a bases de datos postgreSQL, escribir y ejecutar consultas y administrar objetos de base de datos sin salir de Visual Studio Code.

La extensión se integra con los servicios de PostgreSQL administrados por Azure, entre los que se incluyen:

  • Azure HorizonDB: un servicio postgreSQL nativo en la nube creado para cargas de trabajo empresariales de nivel 1. HorizonDB cuenta con una arquitectura desagregada de almacenamiento y proceso, confirmaciones de transacciones de baja latencia, conmutación por error rápida, escalado horizontal de lectura con equilibrio de carga entre réplicas HA aptas para lectura e integración profunda de IA.

La misma extensión funciona con ambos servicios. Cuando el comportamiento difiere (por ejemplo, en los extremos de conexión o los métodos de autenticación admitidos), se indica en las secciones siguientes.

Instalación de la extensión

Puede instalar la extensión postgreSQL directamente desde El Marketplace de extensiones en Visual Studio Code. Siga estos pasos:

  1. Abra la vista Extensiones en Visual Studio Code seleccionando el icono Extensions en la barra de actividades o mediante el comando View: Extensions.
  2. Busque PostgreSQL en El Marketplace de extensiones.
  3. Seleccione la extensión postgreSQL que ha creado Microsoft y seleccione Instalar.

Al instalar la extensión, aparece un icono de elefante para representar la página postgreSQL en la barra lateral de Visual Studio Code.

Features

La extensión postgreSQL para Visual Studio Code proporciona las siguientes características para Azure HorizonDB.

Administrador de conexiones

Administrador de conexiones simplifica la conexión a bases de datos postgreSQL locales y hospedadas en la nube. Entre las funcionalidades clave se incluyen:

  • Compatibilidad con varios perfiles de conexión, por lo que puede conectarse a varias instancias de PostgreSQL y administrarlas en paralelo, incluida una combinación de clústeres de Azure HorizonDB.
  • Análisis de cadenas de conexión para garantizar una conectividad fluida, tanto si se conecta a una base de datos local como a un clúster de Azure HorizonDB.
  • Integración con Azure HorizonDB para la exploración directa y el filtrado de instancias por suscripción, grupo de recursos, servidor o clúster y base de datos.

Puntos de conexión de Azure HorizonDB

Azure HorizonDB expone dos puntos de conexión, que puede agregar como perfiles de conexión independientes en la extensión:

  • Punto de conexión de lectura y escritura : se conecta a la principal, que acepta transacciones de lectura y escritura. Utilice este punto de conexión para operaciones de escritura de aplicaciones, cambios de esquema y cualquier carga de trabajo de lectura que requiera los datos confirmados más recientes. El punto de conexión aparece en la página del clúster Overview y en la página Replicas del portal de Azure.
  • Punto de conexión del lector: equilibra automáticamente la carga de las conexiones de solo lectura entre todas las réplicas de alta disponibilidad legibles del clúster. Utilice este punto de conexión para cargas de trabajo de lectura en escala horizontal, generación de informes y análisis. Actualmente se admiten hasta cuatro réplicas de alta disponibilidad para lectura (que aumentarán a 8), cada una con el mismo tamaño que la principal.

Un patrón típico consiste en guardar dos perfiles en el Administrador de conexiones ( uno apuntado al punto de conexión de lectura y escritura y otro al punto de conexión del lector) y cambiar entre ellos en el Explorador de objetos en función de la tarea a mano.

Explorador de objetos

El Explorador de objetos mejorado proporciona una vista jerárquica de los objetos de base de datos, lo que facilita la exploración y administración de esquemas, tablas, vistas y funciones. Entre las características principales se incluyen las siguientes:

  • Opciones avanzadas de filtrado para localizar rápidamente objetos específicos.
  • Funcionalidades para crear, modificar y eliminar objetos de base de datos como tablas, vistas y procedimientos almacenados.
  • Visualización de esquemas y relaciones de base de datos para una navegación simplificada.
  • En Azure HorizonDB, puede inspeccionar las más de 55 extensiones de la lista de permitidas disponibles en el clúster mediante la vista de catálogo pg_available_extensions directamente desde el Editor de consultas.

Editor de consultas

El Editor de consultas mejora la experiencia de redacción y ejecución de consultas con:

  • IntelliSense sensible al contexto para autocompletar las palabras clave de SQL, los nombres de tabla y las funciones.
  • Resaltado de sintaxis y formato automático para mejorar la legibilidad de las consultas.
  • Seguimiento del historial de consultas, por lo que puede reutilizar las consultas ejecutadas previamente.

Visor de resultados

El Visor de resultados permite interactuar con los resultados de la consulta a través de características como:

  • Exportar resultados a formatos CSV, JSON o Excel.
  • Buscar, filtrar y ordenar opciones para analizar los datos de forma eficaz.
  • Vistas de datos persistentes para mantener el contexto mientras navega entre pestañas.

Visualización de esquemas

El visualizador de esquemas proporciona una vista interactiva basada en diagramas de la estructura de la base de datos sin escribir ningún SQL. Haga clic con el botón derecho en una base de datos (o cualquier objeto debajo) en el Explorador de objetos y seleccione Visualize Schema para iniciar el visualizador.

Entre las funcionalidades clave se incluyen las siguientes:

  • Vista de tabla completa : cada tabla se representa como una tarjeta que muestra sus columnas y tipos de datos.
  • Líneas de relación : las relaciones de clave externa entre tablas se dibujan como líneas de conexión, por lo que puede ver de un vistazo cómo se ajusta el modelo de datos.
  • Organización basada en esquemas : las tablas se agrupan mediante su esquema primario (por ejemplo, public, hr, ecom), lo que facilita la navegación por bases de datos de gran tamaño.
  • Mostrar u ocultar por esquema : active o desactive los esquemas completos para centrarse solo en las partes del modelo que le interesa y para mantener los diagramas legibles en bases de datos grandes.
  • Desplazar y ampliar/reducir - Desplácese por diagramas grandes con los controles estándar para desplazarse, ampliar o reducir y ajustar a la pantalla.

La visualización de esquemas funciona en cualquier base de datos conectada, incluidos los clústeres locales de PostgreSQL y Azure HorizonDB.

Visualización de Apache AGE Graph

El visualizador de Apache AGE Graph le permite ejecutar consultas de Apache AGE Cypher y explorar los resultados como un grafo interactivo de nodo perimetral. La extensión detecta automáticamente los resultados de la consulta de grafos y los representa en un explorador visual con llamadas por nodo, controles de zoom y panorámica, compatibilidad con la exportación y estilos compatibles con temas.

La extensión age está permitida de forma predeterminada en Azure HorizonDB, por lo que las cargas de trabajo de grafos se pueden ejecutar en un clúster de HorizonDB sin configuración adicional. Se aplican los mismos requisitos al crear consultas de Cypher en HorizonDB:

  • Devolver objetos completos, no propiedades escalares : el visualizador de grafos necesita objetos de vértices y bordes completos. Las consultas que extraen propiedades escalares (RETURN p.name, p.title) devuelven valores de texto sin formato y no se representarán en el visualizador. En su lugar, devuelva los objetos completos y asigne un nombre a la variable de relación:

    SELECT * FROM cypher('my_graph', $$
        MATCH (a:Product)-[r:BOUGHT_TOGETHER]->(b:Product)
        RETURN a, r, b
    $$) AS (a agtype, r agtype, b agtype);
    
  • Establecer disp_label para texto significativo del nodo : sin disp_label, los nodos muestran identificadores internos. Establezca esta propiedad para que el visualizador muestre etiquetas útiles:

    SELECT * FROM cypher('my_graph', $$
        MATCH (a:Product)-[r:BOUGHT_TOGETHER]->(b:Product)
        SET a.disp_label = a.title
        SET b.disp_label = b.title
        RETURN a, r, b
    $$) AS (a agtype, r agtype, b agtype);
    
  • Coincidencia de columnas de salida con objetos devueltos : la cláusula contenedora AS (...) debe tener una columna por objeto devuelto. En el caso de las consultas de varios saltos, incluya cada nodo intermedio y borde:

    SELECT * FROM cypher('my_graph', $$
        MATCH (a:Product)-[r1:BOUGHT_TOGETHER]->(mid:Product)-[r2:BOUGHT_TOGETHER]->(b:Product)
        RETURN a, r1, mid, r2, b
    $$) AS (a agtype, r1 agtype, mid agtype, r2 agtype, b agtype);
    

Integración de IA (Azure HorizonDB)

Cuando se conecta a un clúster de Azure HorizonDB, la extensión proporciona una superficie de creación de primera clase para las funcionalidades de INTELIGENCIA ARTIFICIAL de HorizonDB, que se exponen como funciones y extensiones de PostgreSQL estándar:

  • pgvector
    • Operadores de similitud y tipo de datos vectoriales.
  • pg_diskann
    • Índice vectorial de alto rendimiento con Filtrado avanzado, que evalúa predicados WHERE durante el recorrido del grafo vectorial para que las consultas de similitud filtradas devuelvan resultados más rápido y de forma más uniforme.
  • azure_ai
    • Funciones de IA como azure_ai.generate(), azure_ai.is_true(), azure_ai.extract()y azure_openai.create_embeddings().
  • Administración de modelos de IA (versión preliminar limitada)
    • Cuando se habilita en el clúster, HorizonDB aprovisiona automáticamente un modelo de chat predeterminado (gpt-5) y un modelo de inserción predeterminado (text-embedding-3-small) a través de Microsoft Foundry, instala y configura azure_ai y conecta las funciones de IA a esos modelos administrados, sin necesidad de control manual de claves. También puede registrar sus propias implementaciones de Microsoft Foundry (Bring Your Own Model) y llamarlas por alias de las mismas funciones de IA.

Puede crear y ejecutar estas cargas de trabajo de IA directamente desde el Editor de Power Query, y el Visor de resultados muestra en línea la salida vectorial y JSONB.

Canalizaciones y flujos de trabajo

Cuando se conecta a un clúster de Azure HorizonDB con canalizaciones de IA o pg_durable flujos de trabajo, la extensión ofrece la vista Canalizaciones y flujos de trabajo para inspeccionar el historial de ejecución y supervisar el estado de las ejecuciones.

Para acceder a ella, haga clic con el botón derecho en la base de datos y seleccione Canalizaciones y flujos de trabajo. Verá dos pestañas:

  • Canalizaciones de IA: vea las definiciones de canalización, inspeccione las ejecuciones y realice un seguimiento de los gráficos de ejecución con tipos de paso codificados por colores (azul para el origen o receptor, verde para el procesamiento, rosa para llamadas externas). Úselo para comprobar el comportamiento de la canalización y comprobar el estado de ejecución, los identificadores de ejecución, las horas de inicio y la duración.
  • Flujos de trabajo: inspeccione pg_durable las instancias de flujo de trabajo con pestañas para gráficos, análisis de tiempo y resultados. Navegue desde una ejecución de un flujo de trabajo hasta su definición de canalización correspondiente para comparar y solucionar problemas.

Esta vista elimina la necesidad de cambiar entre consultas SQL y el editor, lo que facilita la supervisión de cargas de trabajo y pg_durable orquestaciones de IA de larga duración.

Integración de GitHub Copilot

Esta extensión se integra con GitHub Copilot para proporcionar asistencia impulsada por IA específicamente para el desarrollo de PostgreSQL. Con comandos como @pgsql, puede consultar la base de datos, optimizar el esquema y solicitar Copilot para ejecutar operaciones SQL específicas en un clúster de HorizonDB de Azure. Copilot capta el contexto de la conexión activa, incluidas las extensiones instaladas en el destino, por lo que las sugerencias para una conexión de HorizonDB tienen en cuenta pgvector, pg_diskann, azure_ai y age.

Sistemas operativos compatibles

La extensión PostgreSQL funciona con los siguientes sistemas operativos:

  • Windows
  • macOS
  • Linux

La extensión admite varias distribuciones de Linux, como Ubuntu, Fedora y Red Hat Enterprise Linux.

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 a través del 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 + P y ejecute: PGSQL: Report Issue