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.
It seems like all their copilots are seperate subs, which seems like a missed opportunity honestly.
Quite amazing they put the effort into this for Postgres instead of SQL Server. The demand must be a lot higher.
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...
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...
See here for the SQL server extension: https://marketplace.visualstudio.com/items?itemName=ms-mssql...
But they charge you an arm and a leg for the pleasure, but it can be worthwhile for enterprise.
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.
The reason people don't use them more often is that they're not free or even inexpensive.
plus they can take notes from Open source DB like postgress and improve their system better
that's every SQL server out there included Postgres. Is NoSQL considered as none-legacy?
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.
When the client brought some 3rd party expert and he advised rewriting to MySQL, I quickly did the math and it was like $60/m, without a free year.
We continued with DTU MSSQL with Prisma ORM and never regreted.
From a consumer perspective, we're almost all benefiting.
From a business perspective, they get unpaid help and community brownie points.
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.
[0]: https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguis...
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.
Microsoft wants the good vibes and PR that comes with open source, but they don't actually want to be open source. Its why many people still don't trust them in this arena, especially with them swallowing up so many critical open source software platforms such as GitHub et al.
Both teams seem to very much want developers to enjoy their tools, so please do send them feedback on what you need out of the tools.
Follow Carlos Robles if you want SQL server extension news: https://www.linkedin.com/in/croblesm/
Follow Joshua Johnson for PostgreSQL server extension news: https://www.linkedin.com/in/johnsonjoshuae/
no source, not a promising privacy policy
Good starting point: https://www.jetbrains.com/pages/intellij-idea-databases/
That's cool. How do I get this into JetBrains IDEs?
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.
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.
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
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.The main difference is that JetBrains supports a bunch of databases, not just one.
(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.)
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.
My company had some leftover Datagrip licences, and it felt like moving from notepad to an IDE. I haven't looked back since.
> 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...
Edit: That's uncharitable of me. I strongly doubt that's the plan. But it genuinely was the first thing that came to mind.
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.
So you are saying that MIT/ISC/GPL/Apache2 and all the other OSS licenses do open you up to liabilites?
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.
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.
Why would they spend money into this extension if 99% of developers can't use it?
Is MS going to be a jerk about it? Almost certainly not. Could they if they wanted to? Sure seems like it.
https://news.ycombinator.com/newsguidelines.html
https://hn.algolia.com/?sort=byDate&dateRange=all&type=comme...
If it helps at all, there's also this: "Assume good faith" - https://news.ycombinator.com/newsguidelines.html
Yes they are a new user, 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.
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.
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.
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.
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.
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.
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.
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.
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.)
It makes me wish for something like phpmyadmin or adminer
— 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.
`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.
- neovim for file editing,
- zsh (+zoxide) for navigation / file management,
- plain git to manage my repos,
- plain text note taking and accounting, etc.
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.
FWIW I use it via Linux .deb and integrate with a private GitLab.
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,....
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.
Also the best webdev IDE.
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.
When was that?
It is becoming common for some to use Rider primarily, but VS is still used as part of the build system.
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.
Check it out and get on the waitlist getgalaxy.io/explore/product-tour
happy to chat live with anyone if interested, support@getgalaxy.io
We're going to be rolling out Prisma Studio as a VS Code extension soon!
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.
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"
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.
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.
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).
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)
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.
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.
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.
The team is very receptive to feedback, in my experience.
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.
am I the only one to have that problem?
I really wonder why they would call it "server name" instead of database host though
Does anyone here feel that the graphical editors actually save them time or make their lives easier?
In my opinion, i see that graphical editors are more product for major section of devs and admins.
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.
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?
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.
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.
[0] affectionately Crashional Rose
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
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 see the full picture and decide myself.
slowly development tools are catching up with the 90s
If love for there to me a "rename variable" feature.
I got my hopes up for nothing
I don't understand why the first four points under this heading are basically the same.
Here's the talk where I used it: https://www.youtube.com/watch?v=k6Vm2hakkV4
I also did a theater session at our MSFT booth, but the recording isn't up yet. You can follow the steps in this repo to check out all the features that I demo'd, however: https://github.com/Azure-Samples/postgresql-extension-playgr...
Let the team know about any issues here: https://github.com/microsoft/vscode-pgsql/issues
wiseowise•6h ago
someothherguyy•6h ago
formerly_proven•6h ago