- यह extension AI-आधारित IntelliSense और ‘@pgsql’ GitHub Copilot agent के साथ query लिखने और database management को सरल बनाता है
- Entra ID authentication, Azure Database for PostgreSQL integration आदि के ज़रिए एकीकृत security और cloud deployment management को support करता है
- Schema visualization, query history management, context IntelliSense जैसी सुविधाओं के ज़रिए developer productivity और efficiency बढ़ाने पर फोकस करता है
- कई database connections, passwordless authentication, और सहज UI के साथ onboarding और context switching की लागत को न्यूनतम करता है
परिचय
- Microsoft ने Visual Studio Code (आगे VS Code) के लिए नए PostgreSQL extension का public preview घोषित किया है
- यह extension PostgreSQL database management और developer workflow को एक ही environment में आसानी से संभालने के लिए डिज़ाइन किया गया है
- Developer, VS Code छोड़े बिना database object management, query draft तैयार करना, context IntelliSense, और ‘@pgsql’ GitHub Copilot agent की मदद ले सकते हैं.
डेवलपर्स की चुनौतियाँ और समाधान
- हाल की 2024 StackOverflow Developer Survey के अनुसार 41% developers context switching की कठिनाई का सामना करते हैं
- 2024 Stripe Developer Coefficient Report से पता चलता है कि development time का अधिकतम 50% debugging और troubleshooting में खर्च होता है
- database management और application development को एकीकृत करने वाले extension tools की कमी inefficiency को बढ़ाती है
- नया extension Postgres database tools और @pgsql GitHub Copilot को एकीकृत करके एक ही environment में development, management, और debugging संभव बनाता है
- Entra ID authentication, Azure Database for PostgreSQL के साथ करीबी integration आदि के ज़रिए security और centralized management को support करता है
मुख्य फीचर्स
Schema visualization
- Object Explorer में database item पर right-click करके 'Visualize Schema' विकल्प से schema को visualize किया जा सकता है
Database-aware GitHub Copilot
- VS Code के भीतर PostgreSQL context को समझने वाला AI support प्रदान करता है
- natural language के ज़रिए database query, schema optimization, SQL execution आदि को सरल बनाता है
- “@pgsql” command, “Rewrite Query”, “Explain Query”, “Analyze Query Performance” जैसे context menu के साथ AI-आधारित query analysis/optimization support करता है
- development के दौरान real-time expert-level guidance और security, performance improvement features प्रदान करता है
Copilot chat agent mode
- conversation-based intelligent chat agent (@pgsql) सिर्फ़ Q&A तक सीमित नहीं है, बल्कि multi-step tasks भी support करता है
- यह workspace के वास्तविक context को समझता है, और permission मिलने पर code लिखना और debug करना भी कर सकता है
- database बनाना, extension activate करना जैसे complex tasks को भी natural language में निर्देशित किया जा सकता है
- database change operations के लिए स्पष्ट user permission आवश्यक है
Database connection और management
- local और cloud PostgreSQL instances से आसानी से connect किया जा सकता है
- multiple connection profiles, connection string parsing, और connection settings को सरल बनाता है
- Azure Database for PostgreSQL deployments को सीधे browse और filter किया जा सकता है
- Entra ID integration के साथ security मजबूत होती है और admin-केंद्रित database access management संभव होता है
Passwordless authentication और security
- Entra ID के साथ passwordless authentication प्रदान करता है
- manual login की आवश्यकता नहीं, automatic token refresh support
- authentication timeout को न्यूनतम करता है, development continuity बनाए रखता है
- enterprise security standards के अनुरूप
- मौजूदा Entra ID credentials का उपयोग संभव
- अलग account management की आवश्यकता नहीं
Database explorer और query history
- schema, table, function आदि database objects को संरचित रूप से देखना और manage करना संभव है
- object creation, modification, और deletion support करता है
- query history management से पहले चलाए गए queries का दोबारा उपयोग आसान हो जाता है
Query editing और context IntelliSense
- SQL keywords, table names, और function names के लिए autocomplete और syntax highlighting support
- query auto-formatting, history management, और पढ़ने में आसान editing environment प्रदान करता है
अंतर और प्रमुख ताकतें
- Productivity में सुधार: context IntelliSense, SQL formatting आदि से काम का समय घटता है और errors कम होते हैं
- Smart AI support: database/workspace-aware Copilot chat agent से multi-step support
- तेज़ onboarding: connection manager की मदद से beginners भी कुछ ही मिनटों में environment setup कर सकते हैं
- Security: Entra ID के ज़रिए centralized access control, Azure deployments को आसानी से browse करने की सुविधा
- Integrated toolset: database object management, query execution, और instance deployment तक सब कुछ VS Code के भीतर संभव
- Cloud-friendly: Azure Database for PostgreSQL के साथ गहरे integration से cloud database operations सरल होते हैं
शुरुआत कैसे करें
- VS Code Extensions Marketplace में 'PostgreSQL' खोजें और Preview PostgreSQL extension (नीले हाथी वाले icon) को install करें
- GitHub Copilot और Copilot chat extension की आवश्यकता होगी, और "@pgsql" command से Copilot के साथ इंटरैक्ट किया जा सकता है
फ़ीडबैक और आगे की योजना
- VS Code के भीतर feedback tool से user opinions और issues जमा किए जा सकते हैं
- standard preview license को भविष्य में update किया जाएगा
- अधिक जानकारी और getting started guide के लिए https://aka.ms/pg-vscode-docs देखें
1 टिप्पणियां
Hacker News की राय
हमारी टीम की रिलीज़ पर बधाई। पिछले हफ़्ते Microsoft sponsor session में इसे सबसे पहले लाइव डेमो करने का मेरा अनुभव साझा कर रहा हूँ। डेमो वीडियो यहाँ देखा जा सकता है। MSFT booth पर एक अलग session भी किया था, लेकिन उसकी recording अभी अपलोड नहीं हुई है। उसकी जगह, मैंने जिन सभी features का demo किया था, उन्हें आप खुद आज़मा सकें, इसके लिए repo यहाँ है। अगर कोई issue आए, तो यहाँ टीम को बताने का अनुरोध है
यह tool उन मुख्य समस्याओं को भी हल करता है जिन्हें मैंने पहले अपने बनाए npm package “pgstrap” से सुलझाया था। यह tool database structure को directory के रूप में बनाता है, ताकि मेरे database schema को LLM (large language model) इस्तेमाल कर सकें, और code review के समय table changes साफ़ दिखाई दें। यह मेरे DB की हर table के लिए SQL file बनाता है और schema के हिसाब से directory में व्यवस्थित करता है। यह Rails के schema.rb जैसी अवधारणा है। सोचने वाली बात है कि editor का database-aware होना बेहतर है, या codebase में context commit करना बेहतर है। अगर generated code/artifacts कम हों तो codebase ज़्यादा साफ़ रहता है। लेकिन हर कोई VS Code इस्तेमाल नहीं करता, और हो सकता है कि लोग इस integration का उपयोग करना न जानते हों। DB browser GUI में कभी कोई स्थायी market winner नहीं रहा। फिर भी, VS Code की भारी market share की वजह से यह development environment के भीतर DB browsing का standard बन सकता है। pgstrap लिंक
पहली नज़र में यह tool सचमुच शानदार लगता है। यह देखकर हैरानी हुई कि Microsoft, SQL Server के बजाय Postgres के लिए tool पर इतनी मेहनत कर रहा है। शायद Postgres की demand उतनी ज़्यादा है
मैंने तय कर लिया है कि इस extension को खुद ज़रूर आज़माऊँगा। मेरे career की शुरुआत SQL Server से हुई थी और SSMS मुझे बिल्कुल सही लगता है। करीब 10 साल से Postgres इस्तेमाल कर रहा हूँ, लेकिन pgadmin, dbeaver, datagrip जैसी management/query tools से पूरी तरह संतुष्ट नहीं रहा। Postgres DBMS अपने आप में शानदार है, और SQL Server भी कीमत को छोड़ दें तो बेहतरीन है। लेकिन community में Postgres के DB tooling ecosystem को लेकर और ज़्यादा असंतोष क्यों नहीं है, यह मेरे लिए रहस्य है
JetBrains की VSCode पर एक साफ़ बढ़त यह है कि वह बढ़िया built-in DB tools देता है
Postico हमेशा Postgres के साथ काम करने के लिए मेरा standard tool रहा है। क्या किसी Postico user ने यह नया extension आज़माया है?
अभी Microsoft में सबसे "valuable" IDE कौन-सा है, यह जानने की उत्सुकता है। कुछ साल पहले तक VSCode को "beginners के लिए Visual Studio" की तरह promote किया जाता था, लेकिन अब VSCode सबसे ज़्यादा इस्तेमाल होने वाला "IDE" बन गया है। Visual Studio को मुख्यतः "legacy" के रूप में देखा जाता है, हालांकि C++ और .NET के लिए यह अभी भी अच्छा है
क्या यह Microsoft Access और PostgreSQL के लगभग 30 साल बाद फिर मिलने जैसा है?
क्या SQLite में भी ऐसी functionality है? क्या हर DB के लिए पूरी तरह नया extension चाहिए, या कुछ हिस्सा shared/reusable हो सकता है?
VSCode काफ़ी ठीक लगता है, लेकिन काश कई monitors पर खुद VSCode को फैलाकर इस्तेमाल करने का आसान तरीका होता। अभी मैं code एक monitor पर और DB tool के लिए दूसरे monitor पर DataGrip इस्तेमाल करता हूँ