- Diese Erweiterung vereinfacht das Schreiben von Abfragen und die Datenbankverwaltung mit KI-gestütztem IntelliSense und dem GitHub-Copilot-Agenten „@pgsql“
- Unterstützt integrierte Sicherheits- und Cloud-Bereitstellungsverwaltung durch Entra-ID-Authentifizierung und die Anbindung an Azure Database for PostgreSQL
- Legt den Fokus auf höhere Produktivität und Effizienz für Entwickler durch Schema-Visualisierung, Verwaltung des Abfrageverlaufs und kontextbezogenes IntelliSense
- Minimiert Onboarding und Kontextwechselkosten durch mehrere Datenbankverbindungen, passwortlose Authentifizierung und eine intuitive UI
Einführung
- Microsoft hat die Public Preview einer neuen PostgreSQL-Erweiterung für Visual Studio Code (im Folgenden VS Code) angekündigt
- Die Erweiterung wurde entwickelt, damit sich PostgreSQL-Datenbankverwaltung und Entwickler-Workflows einfach in einer einzigen Umgebung erledigen lassen
- Entwickler können Datenbankobjekte verwalten, Abfragen entwerfen und kontextbezogenes IntelliSense sowie Unterstützung durch den GitHub-Copilot-Agenten „@pgsql“ nutzen, ohne VS Code zu verlassen.
Herausforderungen für Entwickler und Lösungsansatz
- Laut der Stack Overflow Developer Survey 2024 haben 41 % der Entwickler Schwierigkeiten durch Kontextwechsel
- Der Stripe Developer Coefficient Report 2024 zeigt, dass bis zu 50 % der Entwicklungszeit für Debugging und Problemlösung aufgewendet werden
- Ineffizienzen werden durch das Fehlen eines integrierten Erweiterungstools beeinflusst, das Datenbankverwaltung und Anwendungsentwicklung zusammenführt
- Die neue Erweiterung vereint Postgres-Datenbanktools und @pgsql GitHub Copilot, sodass Entwicklung, Verwaltung und Debugging in einer einzigen Umgebung möglich sind
- Unterstützt Sicherheit und zentrale Verwaltung durch Entra-ID-Authentifizierung und die enge Integration mit Azure Database for PostgreSQL
Hauptfunktionen
Schema-Visualisierung
- Durch einen Rechtsklick auf einen Datenbankeintrag im Object Explorer lässt sich ein Schema über die Option „Visualize Schema“ visualisieren
Datenbankbewusster GitHub Copilot
- Bietet KI-Unterstützung, die den PostgreSQL-Kontext innerhalb von VS Code erkennt
- Vereinfacht Datenbankabfragen in natürlicher Sprache, Schema-Optimierung und SQL-Ausführung
- Unterstützt KI-basierte Abfrageanalyse und -optimierung mit dem Befehl „@pgsql“ sowie Kontextmenüs wie „Rewrite Query“, „Explain Query“ und „Analyze Query Performance“
- Bietet Echtzeit-Anleitung auf Expertenniveau sowie Funktionen für Sicherheit und Leistungsverbesserung während der Entwicklung
Copilot-Chat-Agentenmodus
- Ein dialogbasierter intelligenter Chat-Agent (@pgsql) unterstützt nicht nur Frage und Antwort, sondern auch mehrstufige Aufgaben
- Versteht den tatsächlichen Kontext des Workspaces und kann mit Erlaubnis auch Code schreiben und debuggen
- Auch komplexe Aufgaben wie das Erstellen von Datenbanken oder das Aktivieren von Erweiterungen lassen sich per natürlicher Sprache anweisen
- Für Änderungen an der Datenbank ist eine explizite Benutzerfreigabe erforderlich
Datenbankverbindung und -verwaltung
- Einfache Verbindung zu lokalen und Cloud-basierten PostgreSQL-Instanzen
- Mehrere Verbindungsprofile, Parsing von Verbindungszeichenfolgen und vereinfachte Einrichtung von Verbindungsinformationen
- Azure-Database-for-PostgreSQL-Bereitstellungen können direkt durchsucht und gefiltert werden
- Entra-ID-Integration erhöht die Sicherheit und unterstützt eine administratorzentrierte Verwaltung des Datenbankzugriffs
Passwortlose Authentifizierung und Sicherheit
- Bietet passwortlose Authentifizierung mit Entra ID
- Keine manuelle Anmeldung erforderlich, automatische Token-Aktualisierung wird unterstützt
- Minimiert Authentifizierungs-Timeouts und gewährleistet Kontinuität während der Entwicklung
- Kompatibel mit Sicherheitsstandards auf Enterprise-Niveau
- Vorhandene Entra-ID-Anmeldedaten können verwendet werden
- Keine separate Kontoverwaltung erforderlich
Datenbank-Explorer und Abfrageverlauf
- Schema, Tabellen, Funktionen und andere Datenbankobjekte lassen sich strukturiert prüfen und verwalten
- Unterstützt das Erstellen, Ändern und Löschen von Objekten
- Durch die Verwaltung des Abfrageverlaufs lassen sich zuvor ausgeführte Abfragen leicht wiederverwenden
Abfragebearbeitung und kontextbezogenes IntelliSense
- Unterstützt Autovervollständigung für SQL-Schlüsselwörter, Tabellennamen und Funktionsnamen sowie Syntax-Highlighting
- Bietet automatische Abfrageformatierung, Verlaufsverwaltung und eine gut lesbare Bearbeitungsumgebung
Unterschiede und Stärken
- Höhere Produktivität: Kürzere Arbeitszeiten und weniger Fehler durch kontextbezogenes IntelliSense, SQL-Formatierung usw.
- Intelligente KI-Unterstützung: Mehrstufige Unterstützung durch einen datenbank- und workspacebewussten Copilot-Chat-Agenten
- Schnelles Onboarding: Dank Verbindungsmanager können auch Einsteiger ihre Umgebung in wenigen Minuten einrichten
- Sicherheit: Zentrale Zugriffskontrolle durch Entra ID und einfache Navigation von Azure-Bereitstellungen
- Integriertes Toolset: Verwaltung von Datenbankobjekten, Ausführung von Abfragen und Instanzbereitstellung alles innerhalb von VS Code
- Cloud-freundlich: Die tiefe Integration mit Azure Database for PostgreSQL vereinfacht den Betrieb von Cloud-Datenbanken
Erste Schritte
- Im Extensions Marketplace von VS Code nach „PostgreSQL“ suchen und die Preview PostgreSQL extension (blaues Elefanten-Symbol) installieren
- Die Erweiterungen GitHub Copilot und Copilot Chat sind erforderlich; über den Befehl
@pgsql ist die Interaktion mit Copilot möglich
Feedback und weitere Pläne
- Über das Feedback-Tool in VS Code können Nutzermeinungen und Probleme eingereicht werden
- Die Standard-Preview-Lizenz soll künftig aktualisiert werden
- Weitere Informationen und eine Einstiegsanleitung gibt es unter https://aka.ms/pg-vscode-docs
1 Kommentare
Hacker-News-Kommentare
Glückwunsch an das Team zum Launch. Ich wollte nur teilen, dass ich das letzte Woche in einer von Microsoft gesponserten Session tatsächlich als Erster live vorgeführt habe. Das Demo-Video gibt es hier. Außerdem gab es noch eine separate Session am MSFT-Stand, aber die Aufzeichnung wurde noch nicht hochgeladen. Stattdessen gibt es ein Repo, mit dem man alle Funktionen, die ich gezeigt habe, selbst nachmachen kann: hier. Falls Probleme auftreten, sagt dem Team bitte hier Bescheid.
Das Tool löst erneut ein zentrales Problem, das ich früher mit meinem eigenen npm-Paket „pgstrap“ angegangen bin. Es erzeugt die Datenbankstruktur in Form eines Verzeichnisses, sodass mein Datenbankschema von einem LLM genutzt werden kann und Änderungen an Tabellen in Code-Reviews klar sichtbar werden. Für jede Tabelle in meiner DB wird eine SQL-Datei erzeugt und nach Schema in Verzeichnissen organisiert. Das ist ein ähnliches Konzept wie Rails’
schema.rb. Ich frage mich, ob es besser ist, wenn der Editor die Datenbank versteht, oder wenn man den Kontext direkt in die Codebasis committet. Wenn weniger generierter Code bzw. weniger Artefakte entstehen, bleibt die Codebasis sauberer. Andererseits nutzt nicht jeder VS Code oder weiß, wie man diese Integration verwendet. Bei DB-Browser-GUIs gab es nie einen klaren Marktsieger. Durch den überwältigenden Marktanteil von VS Code könnte das aber zum Standard für DB-Inspektion direkt in der Entwicklungsumgebung werden. pgstrap-LinkDas Tool sieht auf den ersten Blick wirklich großartig aus. Es überrascht mich, dass Microsoft so viel Energie in ein Tool für Postgres statt für SQL Server steckt. Ich vermute, dass die Nachfrage nach Postgres einfach so groß ist.
Ich werde diese Erweiterung definitiv selbst ausprobieren. Meine Karriere begann mit SQL Server, und SSMS passt für mich einfach perfekt. Ich nutze Postgres jetzt seit fast zehn Jahren, aber mit Verwaltungs- und Query-Tools wie pgadmin, dbeaver oder datagrip war ich nie wirklich zufrieden. Das Postgres-DBMS selbst ist großartig, und SQL Server ist ebenfalls hervorragend, wenn man die Kosten ausklammert. Dass die Community bei der Tooling-Landschaft rund um Postgres nicht viel lauter unzufrieden war, ist mir allerdings ein Rätsel.
Ein Bereich, in dem JetBrains gegenüber VSCode klar im Vorteil ist, ist das aufgeräumte integrierte DB-Tooling.
Postico war für mich immer das Standardwerkzeug für die Interaktion mit Postgres. Ich frage mich, ob hier Postico-Nutzer sind, die die neue Erweiterung schon ausprobiert haben.
Ich frage mich, was derzeit bei Microsoft die „wertvollste“ IDE ist. Vor ein paar Jahren wurde VSCode noch wie ein „Visual Studio für Einsteiger“ vermarktet, aber inzwischen scheint VSCode die meistgenutzte „IDE“ zu sein. Visual Studio gilt eher als „Legacy“ (auch wenn es für C++ und .NET weiterhin gut ist).
Fühlt sich das nur für mich so an, als würden Microsoft Access und PostgreSQL nach rund dreißig Jahren wieder zusammenfinden?
Ich frage mich, ob es so etwas auch für SQLite gibt. Braucht man für jede DB eine komplett eigene Erweiterung, oder gibt es Teile, die gemeinsam genutzt werden können?
VSCode sieht ziemlich ordentlich aus, aber ich wünschte, es gäbe eine einfache Möglichkeit, VSCode selbst über mehrere Monitore zu verteilen. Derzeit habe ich den Code auf einem Monitor und das DB-Tool in DataGrip auf einem anderen.