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...
https://learn.microsoft.com/en-us/archive/msdn-magazine/2005...
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.
Can you point out such recent behavior that isn't just echoing other peoples opinions from the anti-trust case from over two decades ago? It's been my experience that many people seem to "borrow" their opinion about Microsoft from things they've read rather than personal experience so we keep getting the same low-effort criticism ad nauseam.
In my opinion, 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.
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/
Not to mention that SQL "SDK-style" projects only work properly in VS Code, so Visual Studio users are left out in the cold having to deal with an incomplete, half-baked solution.
The biggest problem with the usability of Microsoft products today is short-sighted thinking. New features, platforms, frameworks etc are launched and then forgotten about just a few years later with no effort to tie into the groundwork of what came before.
You might think this is only a problem for old customers who are already accustomed to the old technologies, but that's not true: it burdens new customers too. There's a few reasons for this that I can think of.
1) It's hard for new customers to know what technologies they should be reaching for in what situations when there's so many different choices.
2) It's hard to find the right documentation for the technology you've picked because you have to browse through a ton of out-of-date documentation that wrongly refers to the deprecated technologies and it's not clear what the current recommendations are.
3) The new stuff is often built without consideration for the ways of thinking that the underlying platform was built with. Thus, you end up with weird idiosyncrasies as you move from one technology to another, which make it hard to learn and hard to use.
4) When you replace the old technologies you lose the benefit of community knowledge on platforms like Stack Overflow, you lose the ability to look at existing open-source projects for guidance, etc. You are basically going into uncharted territory where there are no clearly established patterns in the wild.
So, even new users coming on to your platform suffer from these deficits. That's not to say I don't appreciate all the work on these new powerful technologies like VS Code and .NET Platform and so on, but I think a more long-sighted vision for these products would go a long way. And it's not just a matter of looking forward, since you never know what's going to happen in the future with a product as organizational priorities change. It's also a matter of looking backwards at what came before, at what groundwork was laid by previous efforts, and how it can be best taken advantage of and re-used for future efforts. That is the biggest missing piece at Microsoft today in my opinion.
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.
In my experience, DataGrip has been easier to get up and running out of the box and bringing the big IDE guns than DBeaver but DBeaver also does done this really well. For example I have never been able to setup DG with Access but DBeaver works pretty good out of the box with that garbage. Also it's free.
Both are solid
My company had some leftover Datagrip licences, and it felt like moving from notepad to an IDE. I haven't looked back since.
As you suggest however, tooling for that workload is pretty rare. I want something that focuses on enhancing the database development experience: that understands that there are development workflows for database code which are well controlled and rigorous. So many database tools are focused on being system administrative aids first, or giving you features for directly interacting and <ack> altering the running state of the database and its server from the tool.
The best tool I found for what I do was targeted at Oracle: Allround Automation's PL/SQL Developer (https://www.allroundautomations.com/products/pl-sql-develope...). It's a development oriented tool that, at least last I used it, was focused on serious development work rather than administrative work. Now, I haven't used it in almost 20 years when last I did Oracle development... but I haven't found anything for PostgreSQL that has that thoughtfully implemented database developer centric feature set.
Today I muddle through with DataGrip. DataGrip has just enough of what I need that it's marginally better to work with than just a simple text editor... and also narrowly avoids some misfeatures as not to negate it's utility.
> 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.
"THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."
do not constitute something that frees you from those liabilities?
Cause if so I think basically most of open-source would just shut down tomorrow.
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
Not a good way to generate potential user interest or generally good feelings towards it.
Just saying.
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).
How do you keep that all in sync across your apps?
That code might in turn have plugins or feature flags that mean you don't know the concrete sql schema until runtime.
Same for seed data and migrations.
So it depends on the use-case how useful this format is for tooling and discovery vs an actual connection to the database.
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.
You could argue that "events" are primary in which case just switch the order of that and "speakers."
I'd color the table headers differently and different from each other and have the arrows leaving that box match the color of the box it's leaving. Also drop "public:". It's expected and default so it does not need to be displayed here.
Drop the key icon and just make the key fields in bold or with a different style.
Don't make me hunt around to match information and don't be afraid to use differential styling.
[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•10h ago
someothherguyy•10h ago
formerly_proven•10h ago