Postgres IDE in VS Code

514 Dowwie 232 5/23/2025, 3:12:44 PM techcommunity.microsoft.com ↗

Comments (232)

seveibar · 5h ago
This solves a major problem that I built an npm package called "pgstrap"[1] for. It generates a "database structure" directory so that my database schema is available to LLMs (it also makes code review easier because you can see the changes to various tables). So I have a SQL file for each table in my database, neatly organized into directories for each schema. Rails has a similar idea with schema.rb

I'm not sure whether or not it's better to have your editor database-aware or to have your codebase have appropriate context committed. On one hand, less generated code/artifacts make for a cleaner codebase. On the other hand, not everyone uses VC Code or will know how to use this integration. Database browser GUIs have never really had a single winner. That said, VS Code does have enough dominance to potentially make themselves "the standard way to view a database in development"

[1] https://github.com/seveibar/pgstrap

netghost · 4h ago
That seems like a really pragmatic tool, thanks for sharing it!

I'm curious, do you output triggers, store procedures, and such? Many tools seem to stop after you've defined tables, columns, and indices, but I'd love some better tooling to make use of the rest of the DB's features.

seveibar · 3h ago
Yep! It basically runs pg_dump and categorizes all of the output into different files so it should be comprehensive. I think there's `functions/function_name.sql`, `misc.sql`, `triggers.sql` etc.
jsmith99 · 4h ago
I just use a MCP server (with copilot or cline) that has a read only login to my database.
layoric · 22m ago
Out of interest.. does the resultant data get used by the LLM or just generating SQL, executing and returning separately?
maxluk · 11m ago
PM on the project here - The results from the query are generally not used by the LLM. In agent mode though, during query planning, the agent may retrieve sample of the data to improve precision of the queries. For example, getting distinct values from dimensional table to resolve filter condition from natural language statement.
BoorishBears · 3h ago
Which is strictly worse than just giving the LLM access to the source of truth for the database.

You're adding a round trip to the database and the LLM and inserting a tool call in the conversation before it even starts generating any code.

And the reference Postgres MCP implementation doesn't include Postgres types or materialized views, and is one of the most widely used packages: Zed.dev's MCP server for example, is seemingly just a port of it and has the same problem.

tempaccount420 · 51m ago
I don't see how a round trip of <500ms, which is equivalent to maybe 50 tokens, is worse than including many thousands more extra tokens in the prompt, just in case they might be useful. Not to mention the context fatigue.

If designed well - by suspending generation in memory and inserting a <function_result>, without restarting generation and fetching cache from disk - the round trip/tool call is better (costs the equivalent of 50 tokens for waiting + function_result tokens).

fwip · 2h ago
MCP also gives the LLM access to your example data, which can add clarity beyond what your schema alone provides.
pier25 · 6h ago
Oh woah this looks great.

Quite amazing they put the effort into this for Postgres instead of SQL Server. The demand must be a lot higher.

shawnz · 5h ago
There is already a Microsoft SQL server extension for VS Code and this looks to effectively be a clone of it. After giving this a quick spin, it looks and feels the same as the SQL server extension, with the same menus, dialogs, etc. The SQL server extension I believe is what formed the basis of the now-deprecated Azure Data Studio (which was a VS code fork).

See here for the SQL server extension: https://marketplace.visualstudio.com/items?itemName=ms-mssql...

nevi-me · 5h ago
I speculate that it's because the MSSQL tools have been maintained as part of Azure Data Studio, and were in better shape.

ADS is being sunset, and I was surprised when trying to install the Postgres extension on VS Code to find that it had its last meaningful contribution 6 years ago [0]. It couldn't work on newer VS Code versions.

I use ADS with both Postgres and MSSQL, prior to this announcement, I kept using ADS because there was nothing to migrate to.

[0] https://github.com/microsoft/vscode-postgresql/commits/maste...

hobs · 5h ago
They built the postgres plugin in a way that nobody could usefully contribute to unless they worked at msft - like the rest of ADS the level of control they tried to maintain meant nobody wanted to work on it.
0cf8612b2e1e · 5h ago
That is seemingly true of a bunch of tools. I am using an official Microsoft Python library - the repo is public on GitHub, but all of the CI or other backend integration is behind the Microsoft curtain, so it is impossible for the public to actually participate. The cherry on top is that the team that used to support the tool was impacted, so now nobody can maintain the thing.
magicalhippo · 5h ago
They already have the SQL Server Management Studio[1], which seems to cover similar ground?

I'm assuming they might want to move SSMS to VSCode in time, so trying it out by covering new ground, PostgreSQL, makes sense to me.

[1]: https://learn.microsoft.com/en-us/ssms/sql-server-management...

pier25 · 5h ago
But it's only for Windows
magicalhippo · 1h ago
In my experience, MSSQL shops are far more likely to be using Windows already than PGSQL shops, so that's just yet another reason for why PGSQL was a good first choice for a VSCode plugin IMHO.
AdrianB1 · 1h ago
No, it has a different purpose; VS Code extension and the former ADS are targeted for development, while SSMS is for server and database administration. I am a heavy user of SSMS and can do everything I ever need there, I don't use the VS Code extension for MS SQL even if I have it installed and I use VS Code quite a lot. This is because I am also acting as a backup and supervisor for our DBA team, so I am involved in DBA work.
codeulike · 1h ago
SSMS is also for Development, I've been using it for that for 20 years
robertlagrant · 1h ago
Yes, it's good!
wg0 · 4h ago
I wish there was something similar for SQLite.
osigurdson · 4h ago
SQL server is in "cash cow mode" at this point. Investing more into tooling is unlikely to increase revenues at this stage.
Wojtkie · 5h ago
The copilot integrations look sweet, as does the schema view. The MSSQL extension doesn't have those, but the rest of it looks similar to the Postgres one.
90s_dev · 4h ago
Microsoft seems to be going all in on open source over the past 10-15 years.

From a consumer perspective, we're almost all benefiting.

From a business perspective, they get unpaid help and community brownie points.

teruakohatu · 3h ago
> going all in on open source over the past 10-15 years.

Given that there are many Microsoft closed source extensions for VS Code, that cannot legally be used with the open source Version of VS Code, I would say they are not going all in. Knee deep maybe.

ahartmetz · 3h ago
Because of the closed extensions situation, the open source part feels insincere. Sort of like a free plan up to 10 users and then pretty expensive situation. The purpose isn't the free plan, it's just an advertising measure to get people to where you really benefit eventually.
90s_dev · 2h ago
You're mixing up ideas.

Microsoft isn't "sincere" because it's just a business doing what businesses do, making money. They're not trying to be altruistic or principled. They're just doing business.

But I have personally benefited from this deal by having TypeScript and VS Code at my disposal.

GuinansEyebrows · 3h ago
It's the contemporary version of the second E [0], if you will.

[0]: https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguis...

90s_dev · 4h ago
Also, given that they recently bought github, they have financial incentive to keep people there, who might upgrade to pro accounts or grow to need enterprise.
coliveira · 4h ago
MS SQL server is a legacy system. I don't think any business would create a new database using SQL server unless, for some technical reason, they don't have any other option.
paulirwin · 3h ago
Azure SQL Database for a long while has been the most cost-effective way of running SQL Server as a PaaS database, and still is if you choose the DTU-based modes, making it a very attractive option. Combined with the rich feature set and maturity and reliability of SQL Server, it is hardly legacy; in fact it's very capable and continues to get new updates like vector operations.

I've helped create apps that support millions to hundreds of millions of revenue on Azure SQL Databases that cost at most a few hundred dollars per month. And you can get started with a S0 database for $15/mo which is absolutely suitable for production use for simple apps.

Unfortunately, I think Microsoft realized how good of a value the DTU-based model was, and has started pushing everyone to the vCore model, which dramatically increases the barrier to entry for Azure SQL Database, making PostgreSQL a much more attractive option. If Microsoft ever kills off the DTU purchasing model of Azure SQL Database, I likely won't be recommending or choosing Azure SQL Database at all going forward. It'll 100% be PostgreSQL.

doubleorseven · 4h ago
There is a parallel world, called enterprise. The enterprise people in this world, like enterprise software. They were born to be enterprise oriented. This is fine. Not everyone is like you and it's ok to use a robust product like MSSQL.

No comments yet

harrall · 4h ago
SQL Server is technically very, very good.

But they charge you an arm and a leg for the pleasure, but it can be worthwhile for enterprise.

CharlieDigital · 3h ago
I spent the early part of my career in MSSQL and the current part in Pg.

MSSQL is extremely, extremely capable as a database engine.

But it also costs an arm and a leg. People who haven't used it don't know just how capable it is.

senderista · 1h ago
I have worked with multiple ex-SQL Server engine devs and holy shit are they good.
AdrianB1 · 1h ago
The Express Edition is a SQL database engine with some limitations on CPU count and memory and missing SQL agent. It is free. I installed the version 2017 on some servers 7 years ago and they still run some supplier portal on it, that team was too lazy to even upgrade to newer versions.
AdrianB1 · 1h ago
SQL Server is very good, while cheaper than Oracle. This is a good selling point for enterprises that care about cost (or are too cheap).
paulryanrogers · 4h ago
Legal, compliance, high performance, and familiarity are all valid reasons. (I'm actually not a fan, but less opposed now that it can run on Linux)
smt88 · 4h ago
SQL Server, like Oracle, is technically fantastic. They were both ahead of Postgres for a long time and many people would argue they still are.

The reason people don't use them more often is that they're not free or even inexpensive.

tonyhart7 · 2h ago
I mean they should be, they backed by huge corporation

plus they can take notes from Open source DB like postgress and improve their system better

AdrianB1 · 1h ago
The MS SQL Server engine is an improvement over the years of a branch that was always more technically advanced than Postgres. I don't think there is anything to steal from it.
MangoCoffee · 3h ago
>MS SQL server is a legacy system

that's every SQL server out there included Postgres. Is NoSQL considered as none-legacy?

qntmfred · 5h ago
will definitely be taking a look at this. i started my career on mostly SQL Server and using SSMS fits my brain like a glove. i've been so dissatisfied with the typical options (pgadmin, dbeaver, datagrip, etc) for managing/querying postgres since i started using it probably like 10 years ago. postgres itself is great (don't get it twisted either, SQL Server is fantastic. just costs money) but i never understood why there wasn't more uproar in the community about its DBMS tooling ecosystem
FeloniousHam · 3h ago
I've found Datagrip to be far and away the most impressive universal database tool. I feel like I've tried them all, and they all have a quality of having been developed by database people, rather than IDE designers. The depth of capability, extensibility, pace of improvement--I'm a very happy customer.

I don't want to poop on open source, but pgadmin and dbeaver and not even close to playing in the same league.

I work in Oracle and Datagrip saved my sanity.

polishdude20 · 1h ago
I'd love to try datagrip, what are some advantages over pgadmin or others?
zeppelin101 · 31m ago
With Datagrip, you get all the niceties of a JetBrains IDE: massive customization, numerous plugins (e.g. IdeaVim, GitHub Copilot), lots of documentation. But you also get support for countless Db engines - I haven't seen anything yet which wasn't supported. The only one that was half-baked was Redis support, but it's not exactly a Db, either. Most importantly, it's that the UI doesn't feel clunky, unlike with PgAdmin. Everything feels streamlined and 1 or 2 clicks away, at most.
GordonS · 12m ago
I doubt any new hotness could tear me away from Datagrip. I've used loads of database admin UIs over the years, and Datagrip is by far the most impressive.
lbreakjai · 53m ago
This is going to be subjective, but the interface is better, especially if you're used to other jetbrain products. I haven't used pgAdmin for a while, but I remember the autocomplete being clunky to use and, quite frankly, quite bad.

My company had some leftover Datagrip licences, and it felt like moving from notepad to an IDE. I haven't looked back since.

Errsher · 3h ago
Are there any features in datagrip in particular that you like that aren't in dbeaver?
AdrianB1 · 1h ago
In my experience most SQL developers don't care too much about tooling. In most cases someone designs the database and tables, developers don't care about databases and care mostly about tables and views, rarely about indexes. The ones that care, and need tooling, are usually called development DBAs and they are very rare. Rare enough I was never able to hire one and keep them (we don't pay enough for how rare they are).
impalallama · 5h ago
Biggest thing that JetBrains has over VSCode for me was their very clean built in database tooling
bdcravens · 4h ago
You can also run the database tool separate (DataGrip). That's what I do.
FajitaNachos · 5h ago
Postico has always been my defacto way to interact with Postgres. Curious if there are any Postico users who have tried this yet.
deepsun · 2h ago
Very Mac-oriented, and I think IntelliJ built-in DB editor has way more functions / features.
georgel · 2h ago
10+ year user of Postico. I will give this a try. I hope Copilot can start recognizing the schema when I use node-pg.
Ericson2314 · 2h ago
Microsoft Access meets PostgreSQL, 3 decades later?
bdcravens · 4h ago
Looks nice enough. I only wish there was an easy way to spread VS Code across multiple monitors. I commonly will work in code on one monitor, and the database tool (DataGrip currently) on another.
jayflux · 4h ago
VS Code has had multi monitor support for a while now https://code.visualstudio.com/docs/configure/custom-layout#_...
wenc · 2h ago
You can already do that. I run VS Code on multiple monitors.

Any tab called be pulled into its own window and moved to a different screen.

Even the terminal panel can be popped out into a tab or panel or window. (The UI is not obvious but once you see it you can’t unsee it)

It’s pretty cool to have the code and terminal side by side in the editor window. (Of course this was always possible with emacs)

Fire-Dragon-DoL · 4h ago
I noticed yesterday that you can pull out a tab into its own window. It's not "natural" cross monitor, but you can place the windows on both. Not sure if that helps
bartvk · 4h ago
Have you thought about just solving the problem with hardware? I.e. one giant 38" wide screen?
illuminated · 2h ago
I wonder how this compares to pgModeler (https://pgmodeler.io/) which I've been using the most in the recent years, would love is someone who had tried both could share some observations.
polishdude20 · 1h ago
Just tried it, wish there was better refactoring tools available!

If love for there to me a "rename variable" feature.

pbw · 51m ago
Is there a similar feature available for SQLite? Will there need to be a totally new extension for every DB, or is there a shared portion?
scirob · 1h ago
the copilote being aware of postgres schema is a thing I manually have to deal with in cursor rules. I keep all the SQL DLL files that created any table in context but then also its best to have cursor rules to tell it to use one orm if possible
d0100 · 1h ago
So it's just Azure Data Studio where it lacks SSH tunneling...

I got my hopes up for nothing

zamacho · 4h ago
Is there a similar extension for MySQL in VS Code?
jamesgeck0 · 3h ago
Database Client is fairly similar. I don't think it does the schema diagrams or AI stuff, but it can do notebooks. Has a shareware pricing model, free for up to three active connections. https://database-client.com/
todotask2 · 3h ago
There seems to be a bug — I can't re-run the query from the query history panel; it returns no results.

New query could still get results.

Overall, it should have been a separate app because you can't really see all the results in a small panel.

Toritori12 · 5h ago
I wonder what is the most "valuable" IDE right now for MS. A few years ago VsCode was marketed essentially as "Visual studio for beginners", where you were supposed to move to Visual Studio after you became a real dev, but since then VSCode has been growing and growing and stands now as the most used "IDE", where Visual Studio is mostly seen as "legacy" (oversimplification, great IDE for CPP and .NET but still...).
J_McQuade · 5h ago
Easily VSCode, if we're talking about developer reach. I'm not big into Microsoft stuff, but almost every 'serious' .Net developer I personally know is using Rider, so I can only assume that Visual Studio is retreating to the same space occupied by Eclipse and Netbeans, i.e. still used, but mostly only in places where change is hard.

I'm an emacs user and even I keep a copy of VSCode installed just because I occasionally have to interact with SQL Server and it's really the best way to do that on non-windows systems now that they're winding down ADS.

dmurray · 1h ago
I work at a mostly .NET firm and almost all the developers on that side of things are on Visual Studio. Rider has less penetration than PyCharm has among the Python devs.
solarkraft · 3h ago
Most .Net devs I know use VS, I used Rider because it’s so much less awful.
gregd · 4h ago
I only use Rider because it's cross-platform. It's not inherently better (or worse) than Visual Studio with Resharper installed.
pjmlp · 5h ago
Monetarily, Visual Studio.

There are tons of enterprise development workflows, and plugins, that probably will never be ported into VSCode, from their .NET and COM implementations.

Now in terms of mindshare, and gateway drug into Microsoft ecosystem, definitely VSCode.

It is also the best Web IDE, for the return of timesharing development, sorry cloud.

That alone means everyone that is on Github and Azure, gets to use it as the modern version from X Windows and RDP/Citrix sessions.

Not bad, for Eclipse v2 (Enrich Gamma is one of the main architects), pity the whole Electron shell though.

newlisp · 4h ago
It is also the best Web IDE, for the return of timesharing development, sorry cloud.

Also the best webdev IDE.

pphysch · 5h ago
How is VSCode a "gateway drug" into the MS ecosystem? It's good PR, for sure, but it has little to no conceptual/GUI overlap with, say, Windows.

FWIW I use it via Linux .deb and integrate with a private GitLab.

pjmlp · 3h ago
Worrying about Windows is fighting the last war.

Azure, Github, CoPilot, .NET (why do you think it is cross-platform), Java (yes, MS is back in Java land, they were the ones with initial ARM support), Go (they have their own FIPS compliant distro), Python (although with layoffs maybe not anymore), Rust, npm, Powershell, Powerapps, 365 AddIns, Teams plugins, clang/cmake (part of Visual Studio installer), Azure Linux, Sphere OS,....

epolanski · 1h ago
Because it opens the gate up to the rest of Microsoft tools.

Once you're gonna play with azure, GitHub, vsc, you're bit by bit invested in the ecosystem and opening the wallet for that other feature or integration.

acdha · 5h ago
Azure and GitHub are large Microsoft revenue sources. Both have first-class VSC integration.
tempodox · 5h ago
Erich Gamma
pjmlp · 3h ago
Thanks for the correction.
jjeaff · 5h ago
it has to be VS Code by a long shot. They don't charge for it, but it serves as an enormous draw to keep people in the MS ecosphere and keeps MS in the developer game.
rafaelmn · 9m ago
That's ironic since I develop most of my Microsoft related tech with JetBrains products and only use vs code for frontend/node - non Microsoft stuff.
dontlaugh · 4h ago
Visual Studio is still widely used in the games industry, being pretty much a requirement for targeting some platforms.

It is becoming common for some to use Rider primarily, but VS is still used as part of the build system.

dist-epoch · 1h ago
> where you were supposed to move to Visual Studio after you became a real dev

It was never marketed like that, for the simple reason that popular VSCode languages like Python/HTML/Javascript were never well supported by regular Visual Studio, so there is no way to move to "proper" Visual Studio if you do Python/web development.

epolanski · 1h ago
VS could do web okay 5 years ago, haven't run it since.
TiredOfLife · 4h ago
> A few years ago VsCode was marketed essentially as "Visual studio for beginners", where you were supposed to move to Visual Studio after you became a real dev,

When was that?

Toritori12 · 3h ago
I wont likely find the video but I remember watching the PM for both VSCode and VS (at the time was the same one, not sure now) recommending people to move to Visual Studio "eventually". I clearly remember it because it didn't make any sense, even if the names were similar there were/are nothing alike UI-wise and supported-language-wise. I said few years ago but it was prob around 8 years ago, vsc was still pretty young.
bargainbin · 4h ago
Yeah I’ve been using it since it was released and can’t ever remember it being marketed as such.
wolframhempel · 6h ago
Looks amazing- and the point they're making in the article is correct. Switching back and forth from VS to PG Admin creates friction that this seems to solve in a much nicer way
robertlagrant · 1h ago
> Password-less authentication with Entra Id

I don't understand why the first four points under this heading are basically the same.

didip · 2h ago
This is amazing.

I imagine later LLM have access to my table metadata and then perhaps down the road, LLM can suggest me better queries based on execution plans that it saw.

weitendorf · 5h ago
The AI integration is interesting to me. I have been trying to get Claude to help me with postgres from within my product and have found its ability and understanding of postgres/sql to be significantly worse than with common programming languages.

Maybe it's because my tolerance for imperfection is much lower for databases than web apps, but it is so bad that I can't trust it for anything database-related beyond text transformations and generating boilerplate queries. It will incorrectly tell me things like postgres doesn't support TABLE OF <TYPE>, or make syntax errors for ON CONFLICT, and immediately agree with any "what about" or "are you sure" I throw at it.

Curious if anybody else has run into this. Obviously LLMs are not always great in specialized domains like this but the poor performance with something as popular as postgres is pretty uncharacteristic IMMO.

dwedge · 5h ago
I think it's more that LLMs are a given percentage (let's say 30%) inaccurate in general, and the results of this inaccuracy are just more immediately obvious with SQL
deepsun · 1h ago
Graphical schema image generation was in IntelliJ for like 15 years at least? Since the times with all the craze about UML "disrupting" software engineering.
robertlagrant · 1h ago
UML was the late 90s! Rational Rose[0] was the glorious future of class design. Draw the diagram and let the juniors fill in the methods.

[0] affectionately Crashional Rose

meta_ai_x · 1h ago
Automatic Schema Visualization always miss the biggest point.

When you generate visualization, you should only show key table and key fields within the table and hide all the helper, secondary fields and tables.

In an LLM world this should be easy for LLMs to pick out key tables and fields and only display those

deepsun · 12m ago
Some fields are important for HR, others for Security, others for BI. Gotta have different visualizations for everyone.

LLM here would be like another person or another team, that decides what's important for me, what I should see and what I should not. Might work, but I'd rather decide myself.

timewizard · 9m ago
Why would you need an LLM to do this? The whole point is that SQL describes it's own relationships. You literally have everything you need out of the box.
tombert · 2h ago
I've never used any of these kind of graphical SQL editors. I'm reasonably ok with SQL but I've always just done text queries.

Does anyone here feel that the graphical editors actually save them time or make their lives easier?

hbn · 1h ago
Just today I've been dealing with an issue trying to update an XML column because the XML I'm trying to insert was escaping the string in the update query.

But with DataGrip I could just pull the row I was interested and paste in the string from the UI.

Surely there's another workaround that wouldn't involve a UI but this made it pretty easy.

harrall · 1h ago
Using a UI to explore data is like looking at the picture instead of someone describing the picture with words.
timewizard · 7m ago
Yet the picture at the top of the article is incomprehensible to me. Why is the "session_speakers" table positioned there? It relates speakers and sessions and then has a geometric layout that completely fails to convey that.

You put too many bezier curves on a page on my eyes go cross. They don't even bother to make the lines different colors. Just a bunch of white curves against a fixed grid layout. Wut?

It's taking well structured data and then destructuring it into an inaccurate sloppy picture. I don't get it.

tombert · 1h ago
I know, what I was asking is if this is something professionals actually use.

Like, you can make websites graphically with DreamWeaver (or something), but I think most people say that you're better off using HTML and CSS and whatnot if you know how to use that.

Is this GUI stuff something people who are good at SQL actually use or is this mostly for new people?

harrall · 1h ago
I used to write a ton of SQL and I could write a query for anything you asked for, no matter how incompatible the schema was to your request.

My first step was to look at the data using the UI. Then when I tested my queries, I also just ran them in the UI.

It’s just faster.

I never used the UI for “simple” queries since there wasn’t anything to test.

debarshri · 2h ago
We build privileged access management tools. Majority of our users do not like to use CLI. They know workbenches, pgadmin etc. at a wizard level.

In my opinion, i see that graphical editors are more product for major section of devs and admins.

mcv · 1h ago
I haven't used it for relational databases, but I can imagine it's useful to visualize complex relationships between tables.
deleed · 2h ago
You don't use it but still it's nice feature to have, isn't it?
epolanski · 1h ago
I think he went a long way to simply ask what do these tools do that a cli won't.
tombert · 1h ago
Oh sure, I'm not criticizing its existence.
pgwhalen · 5h ago
Doesn't look like there's much beyond what's currently possible in DataGrip yet (which is far beyond any other SQL client I've used), but nice to see a competitor in the space - especially one that will push JetBrains on the AI assistance side of things.
ryanmccullagh · 58m ago
Remember the old adage, embrace, extend, extinguish.
jasonthorsness · 5h ago
I use DataGrip, but only for very simple tasks and only against PG and occasionally SQLite and it has always felt like way overkill for me (and it's a heavy app). This will be a more convenient option!
codingjerk · 5h ago
DataGrip would be perfect if it had a community edition. As someone who connects to a database only two or three times a week, I’m not willing to pay for it.
jasonthorsness · 5h ago
Yeah I already have the all-products pack for Goland, Clion, and Resharper, I wouldn't have purchased DataGrip separately
getgalaxy · 4h ago
try galaxy instead ;) getgalaxy.io
nico · 5h ago
Nice. The few db managers I’ve tried in VS Code are so awkward, creating files for queries and opening multiple panes that barely fit in the crowded IDE space

It makes me wish for something like phpmyadmin or adminer

huqedato · 6h ago
Very nice and long awaited. Thanks Ms. There are basic features available now (visualisations and query). Looking ahead for more, such table/data editing etc.
briffle · 4h ago
I like that I can run this remotely with the vscode ssh extension to my remote systems. But compared to dbeaver, I miss some of the features of dbeaver. Like showing an estimate of large each table is, and seeing how many rows in the 'properties tab'. And being able to see the ERD graphics for individual tables (to show foreign keys, etc).

Also like with dbeaver that you can take the results and export them in many different formats. like directly to excel for some of my co-workers who live and die in excel.

cebert · 4h ago
I wonder how well this IDE works if you use AWS or GCP instead of Azure.
maxluk · 2h ago
PM on the project here - All clouds and on-prem/local/docker work great! We test those, so if you have issues, please report in the repo we'll fix them.
deepsun · 4h ago
I assume you run cloud-sql-proxy as usual (for proper TLS and passwordless IAM authentication), and then it's just another postgresql port for you. Any tool like psql can connect to it.
tsumnia · 4h ago
I run a personal Postgres server so I'm wondering how well it does there
abetaha · 5h ago
This looks great. Would all the functionality work if the databases are hosted on other cloud providers?
maxluk · 4h ago
I am PM from the project - short answer is yes - you can connect to any Postgres endpoint. There are some Azure specific features, like EntraID supported by the extension that don't exist in other cloud providers.
abetaha · 2m ago
Thank you, this is great
getgalaxy · 5h ago
Super cool for them to finally add in VSCode. My team is trying to build even more here by building a dedicated SQL editor with a context aware AI copilot, and with sharing and collaboration so we don’t need to send queries in slack anymore :)

Check it out and get on the waitlist getgalaxy.io/explore/product-tour

happy to chat live with anyone if interested, support@getgalaxy.io

jenny91 · 3h ago
Glad to see them releasing it under an MIT license.
highwaylights · 6h ago
Nice that they’ve got it working so well with copilot, the only thing keeping me from buying a premium sub is that they don’t bundle GitHub copilot with office copilot.

It seems like all their copilots are seperate subs, which seems like a missed opportunity honestly.

deelowe · 4h ago
Does something like this exist for mysql?
vincnetas · 2h ago
DBeaver?
barfolomew · 4h ago
I will be using this. 100%. very handy
saqadri · 5h ago
This is so cool. A big reason I used prisma was for prisma studio. Having this kind of support in vscode is nice to see
gniting · 5h ago
(prisma team member)

We're going to be rolling out Prisma Studio as a VS Code extension soon!

ketzo · 4h ago
Ooooh can’t wait for that, and for further investment in Prisma Studio generally — already a really nice tool, I just want some slightly more power-user-y stuff!
VeejayRampay · 2h ago
I don't really understand the UI though, there's no way to provide a host

am I the only one to have that problem?

ThatMedicIsASpy · 2h ago
Figure 6 in the article shows it.
VeejayRampay · 2h ago
thanks a lot

I really wonder why they would call it "server name" instead of database host though

0x8j0rn4r80r93 · 4h ago
This is great!
nodesocket · 3h ago
This might already exist, but seems like AI would be a natural fit and efficient at recommending indexes based off queries. I’ve been building a Python SQLite3 app and I gave ChatGPT the entire schema along with all queries and it did a fantastic job at recommending queries and explaining them. Compound indexes, unique indexes, compound primary keys. Taken a step further, if a process ran live inspecting queries in real time and then sent notifications of missing indexes would be super useful.
tudorg · 3h ago
I think you are describing Xata Agent :) https://github.com/xataio/agent It watches metrics/logs, queries pg_stat_stetements for slow queries, the sends slack notification with suggestions, including indexes, but can be more varied than that.
rubabu · 4h ago
does this work for non-Azure?
maxluk · 3h ago
PM on the project here - Yes! It works on any Postgres, on-prem or cloud
gabrieledarrigo · 1h ago
Hi maxlux, is it possible to configure a connection over SSH?
maxluk · 1h ago
Not directly in the extension connection object, but it's in on the roadmap. In the meantime, you can create ssh tunnel using vscode remotes and then just connect through it.
mrits · 5h ago
I'm sure nobody cares, but I just independently stumbled upon this an hour ago and wondered why more people haven't used it.
kstrauser · 5h ago
It has a proprietary license[0]. That makes it a non-starter. Too bad: it looks nifty!

> The software is licensed, not sold. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you will not (and have no right to):[…] d) use the software for commercial, non-profit, or revenue-generating activities

Oops. Better not install this on your work laptop!

[0] https://marketplace.visualstudio.com/items/ms-ossdata.vscode...

lossyrob · 5h ago
Dev on the project here - I'll mention that this language is due to corporate boilerplate public preview licensing. It is absolutely available and encouraged for use in commercial etc. activities. The licensing language needs to be fixed.
kstrauser · 5h ago
That's good to know! Right now it's pretty much illegal for anyone to use it in the situations most people would want to use it for. Any idea what the eventual license will be?
lossyrob · 2h ago
We're working the details out right now, but the change will make it clear that the extension has a free license without restrictions. Stay tuned!
dmurray · 1h ago
You're a dev on the project and consider yourself authorized to speak on behalf of the project, on a legal matter, on Hacker News.

Are you authorized to do the same on a blog hosted on microsoft.com? A lot of people would treat that as authoritative even if bigger enterprises will wait for the shrink-wrap to be updated.

kstrauser · 1h ago
Solid point. That would be a "promissory estoppel" defense if MS changed their mind and decided to run amok with this.

Good: "Your honor, here's a copy of their official blog where they said the license terms are a temporary glitch but that we're fully allowed and encouraged to use the product."

Not good: "Your honor, an anonymous new account on Hacker News said it's totally fine to use this even though the license forbids it."

I'd cheerfully take my chances with the former. The latter? Not so much.

(As mentioned elsewhere, I don't for a second think MS is going to track me down and sue me for using this against the terms of the license. I'd feel a whole lot better if someone officially put that in writing, though.)

kstrauser · 2h ago
Right on. I'll keep an eye out for it!
lolinder · 5h ago
[flagged]
dang · 5h ago
Please don't harangue new users as soon as they show up to HN. Whatever legitimate point you have is drowned out by the atmosphere of hostility you create.

Not only that but it damages the reputation of this community.

You (<-- I don't mean you personally, but all of us) should be welcoming to new users and assume good faith, as the site guidelines ask (https://news.ycombinator.com/newsguidelines.html). There's no reason why you can't make your substantive points while doing so. (Edit: you needn't look far for a good example: https://news.ycombinator.com/item?id=44074135.)

It might also be good to remember that everyone makes mistakes, that project launches don't always go perfectly, and that HN is for discussing the interesting aspects of a submission.

lolinder · 5h ago
I didn't mean it to be haranguing, but OP was giving what amounted to legal advice that was actually wrong and dangerous. I do think that needs to be called out and clarified—not as a personal attack on OP but just as a matter of safety for readers.

I'll acknowledge that kstrauser may have done a better job of sounding friendly about it, but I don't think my question was out of line nor even particularly aggressive given the circumstances.

dang · 4h ago
I'm sorry to press the point, but I don't think you're correctly assessing the impact of comments like your GP post, especially on a legit new user like lossyrob.

You may not have meant to be haranguing, but intent doesn't communicate itself—at least not in the tiny textblobs which are all we have here. It has to be encoded in the actual message.

When I look at your comment from that point of view, I notice that it leads with a hostile personal trope ("You do recognize...?"), followed by a putdown of everything this team is probably hoping for ("no one should use this"), followed by a personal attack ("you shouldn't be encouraging people to do so"), followed by a pedantic hammer-blow ("legally the license is the license") that takes the spotlight away from anything new or exciting about their work. That is followed by a sentence that basically shames them for what was obviously just an oversight. How is a newcomer (or anyone, for that matter) supposed to feel when they encounter that?

You're a good HN member and I'm sure you didn't intend to condemn or humiliate anyone. The problem is that people routinely underestimate the provocation in their own comments and overestimate the provocation in others'. If the error is 10x in each direction, that's a huge skew [1]. That's why it's hard to track the impact that one's posts have—especially the righteously indignant sort of post [2].

I suppose one of the moderators' jobs is to step in and try to articulate that explicitly, in the hope of persuading enough users to generate a bit of a system correction.

[1] https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...

[2] which, by the way, I can feel a bit of in my own comment just now, and I'm probably underestimating it too.

pvg · 4h ago
OP was giving what amounted to legal advice

That is a huge overstatement that you can't really use to justify the haranguing. They just popped in to address the potential issue and let people know they're trying to sort it out. Nobody is giving legal advice and nobody is going to end up in legal trouble because Microsoft messed up their license boilerplate for a bit.

franktankbank · 5h ago
[flagged]
dang · 5h ago
"Please don't post insinuations about astroturfing, shilling, bots, brigading, foreign agents and the like. It degrades discussion and is usually mistaken. If you're worried about abuse, email hn@ycombinator.com and we'll look at the data."

https://news.ycombinator.com/newsguidelines.html

https://hn.algolia.com/?sort=byDate&dateRange=all&type=comme...

franktankbank · 4h ago
Huh, I'm not sure I said anything like the above.
dang · 4h ago
It's in the same general space, no?

If it helps at all, there's also this: "Assume good faith" - https://news.ycombinator.com/newsguidelines.html

franktankbank · 3h ago
Not to belabor the point too much, but assuming good faith is different from trusting anonymous advice from people claiming to be official advocates that could do real damage to your company if legal wanted to bone you.

Yes they are a new user, but they appear to have made the account just to make that comment.

pvg · 2h ago
but they appear to have made the account just to make that comment

People making accounts so they can talk about their work is one of the best reasons for people to make an account and a big part of what makes HN threads interesting.

people claiming to be official advocates that could do real damage to your company if legal wanted to bone you.

That seems like the opposite of assuming good faith.

franktankbank · 1h ago
> People making accounts so they can talk about their work is one of the best reasons for people to make an account and a big part of what makes HN threads interesting.

Uhuh but coming in to give bad legal advice as your first comment for the benefit of the largest most litigious corp on the planet, is that what makes HN threads interesting?

> That seems like the opposite of assuming good faith.

That wasn't a statement towards the individual. That was a statement of what could befall someone who took their advice.

pvg · 1h ago
It's not legal advice. People can just be wrong and you can tell them you think that without coming off as a jerk.

That wasn't a statement towards the individual. That was a statement of what could befall someone who took their advice.

No, I don't think that's true - it's just a catastrophizing rationalization for reflexive dickishness. We all suffer from reflexive dickishness so of course it happens and it's not that big of a deal but trying to pass it off as some sort of virtue is a mistake.

krferriter · 5h ago
Can't use it for commercial, non-profit, or revenue-generating activities? Uh, this actually seems insane to me? What is it for then?
dragonwriter · 5h ago
> Can't use it for commercial, non-profit, or revenue-generating activities? Uh, this actually seems insane to me? What is it for then?

Its a public preview, for which Microsoft probably does not wish to accept non-disclaimable liabilities for defects when used in those circumstances.

It is for previewing. By people who are interested in what is in the pipeline for a more general release.

krferriter · 30m ago
This doesn't make sense to me. They could just say the software is provided as-is and Microsoft holds no liability. Which they do say elsewhere. This license goes much farther to say Microsoft can sue you if you use it.
dragonwriter · 10m ago
> This doesn't make sense to me. They could just say the software is provided as-is and Microsoft holds no liability.

You cannot effectively disclaim certain liability for uses of a product you supply, even with an as-is presentation (exactly what liability depends on jurisdiction and often other context). Merely claiming to have no liability does not make it so (what it will usually do is disclaim all yhe liability you can disclaim, except for particular liabilities that may require separate explicit specific waivers to be effective.)

OTOH, if the product you provide is a software license that doesn't cover specific uses, using the software for the excluded uses may not be seen as a use of the product provided at all, and may not trigger the non-disclaimable liabilities, and even it doesn't avoid those liabilities, in the event someone sues over them, it also enabled the product supplier to countersue for infringement damages and mitigate the liabilities.

SahAssar · 2h ago
> non-disclaimable liabilities

So you are saying that MIT/ISC/GPL/Apache2 and all the other OSS licenses do open you up to liabilites?

dragonwriter · 8m ago
I am saying being a merchant in the field of software and supply software opens you up to liabilities, and saying “Not my responsibility” does not, in most jurisdictions, actially completely shield you from all of them, correct.

This may also, to a lesser extent, be true of people who are not merchants in the field of the product supplied.

It’s not the license creating the liability, in either case.

kstrauser · 5h ago
My initial reaction is "entrapment".

Edit: That's uncharitable of me. I strongly doubt that's the plan. But it genuinely was the first thing that came to mind.

jasonthorsness · 5h ago
I'm sure these restrictions will lift once it's out of preview. They have a huge Postgres hosting business in Azure that couldn't benefit from this if it's restricted to non-commercial.
jkaplowitz · 5h ago
I assume that restriction is due to the public preview status. But yeah MS really ought to at least allow businesses to evaluate it for potential subsequent use after preview.
85392_school · 5h ago
> PRE-RELEASE SOFTWARE. The software is a pre-release version. It may not operate correctly. It may be different from the commercially released version.
pier25 · 5h ago
Probably a copypasta mistake?

Why would they spend money into this extension if 99% of developers can't use it?

atmosx · 5h ago
Because most people will use it without reading the license, giving them the upper hand when they might needed it? Might sound a but harsh, but we're talking about Microsoft.
johnfn · 5h ago
Is there a single example of MS doing something like this in the last 10 years?
adhamsalama · 5h ago
VS Code forks like Cursor that use their extensions?
pier25 · 5h ago
That's not precisely a developer using the extension...
kstrauser · 5h ago
Maybe, but darned if I'm going to be the one to take the legal risk of installing it.
Rastonbury · 4h ago
I'm willing to put good money that MS is not going to sue anyone for using this
kstrauser · 4h ago
I am extremely doubtful that they would. And yet, using it under that license is taking the legal risk that they'll act kindly even though they have the right, under the license, to be jerks about it.

Is MS going to be a jerk about it? Almost certainly not. Could they if they wanted to? Sure seems like it.

jasonthorsness · 5h ago
I worry that with the threat of Cursor this will be more common now. Microsoft's business interest will prevent them from funding development work that directly benefit the popular forks (for years they probably assumed no fork could ever gain traction...).
kstrauser · 5h ago
I suspect you're right. And thus came the end of the era of free VSCode.
Onavo · 5h ago
Microsoft owns shares of Cursor through OpenAI
ldjkfkdsjnv · 5h ago
does anyone actually think like this?
kstrauser · 5h ago
Anyone who works in risk management and/or threat modeling for a living does.
ldjkfkdsjnv · 4h ago
thats such a small percentage of people
kstrauser · 1h ago
There aren't that many doctors, either, as a percentage of the population, but if they tell you not to eat paint, you might consider their opinion.
ahartmetz · 5h ago
I go further than that and say screw Microsoft's partially open source stuff. Because VS Code isn't fully FOSS, which is a bit weird, isn't it.
someothherguyy · 6h ago
uludag · 5h ago
I imagine this is part of Microsoft's plan to the vscode forks: open sourcing copilot to rally developers round it, along with pushing premium closed sourced extensions, which will almost definitely be incompatible with the forks.
_ink_ · 5h ago
> [...] all without ever leaving your favorite code editor.

That's cool. How do I get this into JetBrains IDEs?

lolinder · 5h ago
This is Microsoft catching up to what JetBrains has had all along (in their paid products). There's DataGrip but I was also using all these features (minus the AI stuff) in IntelliJ Ultimate and PyCharm 5+ years ago.

The main difference is that JetBrains supports a bunch of databases, not just one.

WorldMaker · 5h ago
Microsoft has had official Microsoft SQL Server, Azure Storage, CosmosDB and more extensions for VS Code for a long while now. The surprise is building an official branded Postgres extension rather than leaving that to all the (many) third party and/or open source extensions. I suppose it is a nice side-effect of "AI all the things" efforts that "GitHub Copilot support" was enough reason to grab resources for a postgres query editor and other tools.

(I thought it was particularly nice when you could install most to the VS Code DB extensions standalone as "Azure Data Studio"; you can build separate VS Code profiles for your coding and DBA hats of course, but it's not quite the same feel as launching a separate, dedicated application. Though "Azure Data Studio" was often overlooked because it worked just fine on non-Azure hosted databases.)

jrockway · 5h ago
I feel like JetBrains' competing product is DataGrip, which even though I'm an Emacs user, I've happily paid for forever. I believe that if you just use the combined suite (IntelliJ?) then you get SQL completion based on your loaded database everywhere in the IDE. Something fun I accidentally learned this way is that the completion is so accurate I didn't even notice that I made a mistake in a database table I recently added. I used camelCase column names, which Postgres doesn't accept without quotes. Datagrip always added the quotes where I needed them, so I didn't notice, but it annoyed people on my team that used different database tools and they renamed them ;)

JetBrains has always done their completion / language integration differently than VSCode + LSP, but it seems to work well. My only complaint is that GoLand organizes imports differently than gopls / goimports, but my knowledge there is a few years out of date. I've worked on teams with a lot of GoLand users and nothing has really bothered me on this front recently, so they probably fixed it years ago.

throwaeay · 5h ago
> I believe that if you just use the combined suite (IntelliJ?) then you get SQL completion based on your loaded database everywhere in the IDE.

Yes, Intellj will recognize that the string in my code is an SQL statement and use auto complete and validation when it is connected to a database.

I've looked at the announcement and it seems that the functionality of Jetbrains is similar.

pzmarzly · 5h ago
Out of curiosity: how do you set up your CI checks (linter, formatting) if the opensource tools behave differently from JetBrains'? Do you use Qodana[0]?

One benefit of using VSCode/Sublime Text/vim/emacs language integrations is that I roughly know what command to run to get the same results in the terminal as I get in the editor. With JetBrains does-it--all IDEs, I have no clue.

[0] https://www.jetbrains.com/help/qodana/getting-started.html

jrockway · 5h ago
As far as I went with linting this sort of thing was to check that "gofmt -s" yields the code that's checked in. https://github.com/pachyderm/pachyderm/blob/master/src/inter...

It does not care if the imports are organized differently. I like to do:

   import (
      # standard libraries
      "fmt" 
      "io"

      # our stuff
      "github.com/pachyderm/pachyderm/src/internal/whatever"

      # packages
      "example.com/foo/bar"
      "github.com/whatever/whatever/foo"
   )
People/tools will remove the newlines or mix in local packages with upstream packages, and I decided not to care. I'm pretty sure nobody else cares.
conradfr · 5h ago
You click on the button labeled database in the right-hand side panel.
John23832 · 5h ago
You download Datagrip
wiseowise · 6h ago
Let me guess: proprietary, like Pylance, and unavailable in VSCodium?
someothherguyy · 6h ago
Looks like it
formerly_proven · 5h ago
That's the point of the VS Code strategy, yes.
SomaticPirate · 6h ago
I still think Jetbrains has the gold standard in IDE - Database interaction
tdhz77 · 5h ago
Interesting in knowing why you think that
ivanjermakov · 5h ago
Because of a rich feature set and amazing integration with DB providers.

Good starting point: https://www.jetbrains.com/pages/intellij-idea-databases/

newlisp · 4h ago
Datagrip, as an extension, lets you work with SQL, highlighting, autocompletion, and more, inside non-SQL files, such as your programming language files. I think they call this 'language injection'.
leosanchez · 5h ago
It even lints your SQL queries written in other languages. Truly gold standard.
bni · 4h ago
And autocompletes, syntax highlight it. I couldn't imagine being without this.
mrits · 5h ago
I've been using DataGrip for a few weeks and admit it is a nice upgrade to DBVisualizer that I've been using for 10 years. The intellisense and features like being able to select the query in the current window are big time savers for me. I'm still on a trial and not certain I'll purchase it just because things are moving so fast in this field. I feel like not having it in my VSCode Agent loop is a huge negative at this point
qwertywert_ · 3h ago
Isn't PGAdmin good enough? Not hating, but I'm not a database guy either so just curious why create a VSCode extension for GUI stuff.
brulard · 1h ago
Few years ago PGAdmin was almost universally hated, especially in HN discussions. I think it was mostly around 3 -> 4 "upgrade". I see the sentiment has changed, although for me PGAdmin's UI is still very clunky and I avoid it if I can.
deepsun · 2h ago
PgAdmin I think is more for working with data, I use Intellij DB editor mostly for writing complex SQL (with autocomplete, coloring, auto-formatting).

It also recognizes your regular programming code strings as SQL and can also autocomplete/highlight typos, but I don't use that, because we're using JOOQ that generates code stubs from live DB.

ketzo · 3h ago
The longer I work in engineering the fewer windows I want open on my screen

If this is “PGAdmin, but 50% worse, but it just lives as another tab in your editor instead of another application” that is genuinely a huge win for me

Probably that’s because my day-to-day isn’t actually database administration, it’s application development where I need to be able to work with a database from time to time — so the preservation of context, however marginal, is really nice.

srameshc · 1h ago
I love PGAdmin. For me it works very well. And then there are other tools when I need to work with schema etc. I always feel PGAdmin is an open source product that the team is most actively working on, always keep releasing fixes and updates. I don't want it in my IDE yet.
drited · 3h ago
Can you setup entra authentication with PgAdmin? I'm more of a MS Sql person so I don't know, but if not the security improvement from this would be a huge improvement
lukebuehler · 3h ago
it's nice to have copilot in the db admin tool. I use pgadmin every day, and it's great, but lately i have found myself wishing to have AI support in writing certain queries.
codingjerk · 5h ago
Looks promising, but I'll probably stick to `psql`
homebrewer · 3h ago
Try https://www.pgcli.com/install if you haven't already, it's a nice improvement over pure psql.
dpflan · 5h ago
I wonder about people’s development workflows. If you are using a tool like this, how much time are you spending in the command-line (where all such tools can be interfaced)? Are most tools used wrapped in some layer like this?
codingjerk · 2h ago
I spend most of my time in the command line:

- neovim for file editing,

- zsh (+zoxide) for navigation / file management,

- plain git to manage my repos,

- plain text note taking and accounting, etc.

deadbabe · 4h ago
There’s a lot of developers that are scared of the command-line. Truth is you don’t really need these IDEs if you truly know SQL and your database, writing queries isn’t difficult. Keeping a file with common queries isn’t hard either. But most developers just keep a very shallow pool of knowledge and lean into ORMs etc.
codingjerk · 2h ago
I'm using CLIs like A LOT, but still would be happy to get _good_ autocomplete for SQL.

`psql` is pretty bad at it and in `\e` you will just end up in an editor, which will probably don't know about your schema.

I've tried many tools, but seems like I like DataGrip (or databases in PyCharm Professional) the most, so I use EAP from time to time, when I'm going to write a lot of SQL.

dpflan · 1h ago
Hm, is there a psql extension to augment the CLI and provide better autocomplete, maybe even interface with LLM? And then it just stores whatever metadata (like queries you want to save) in its own tables...
deadbabe · 1h ago
I’m really surprised that some rabid rustacean or something hasn’t written an entirely new and aesthetic CLI replacement for psql with all the modern comforts. Autocomplete menus, graphic icons, colors, etc…
dpflan · 1h ago
Exactly, unleash the crabs.
homebrewer · 3h ago
I am very comfortable in the command line and still work with databases in IDEA. It gives you:

— autocompletion for everything — table/function names, types; very helpful on projects with hundreds to thousands of tables

— navigation ("jump to referenced table", "find foreign keys to this column", etc)

— data export in two dozen formats (configurable)

— exactly the same UI for working with 30 database engines (or however many it supports, I'm too lazy to count). Especially helpful with databases that have atrocious CLI clients, like Oracle.

— a nice tree-structured view of your database; or you can generate a (possibly vector) diagram for the rare case when that helps

— high quality autoformatter that works for every SQL dialect it supports, and in the same way

— minor things like the ability to extract a subquery with a couple of key presses, or rename a table alias

Probably something else I'm forgetting.

Saving a couple of keystrokes when writing SQL has little to do with it.

maxluk · 3h ago
Would you be interested if this extension supported all of the psql commands directly in the vscode editor?