[HN Gopher] Postgres IDE in VS Code
___________________________________________________________________
Postgres IDE in VS Code
Author : Dowwie
Score : 969 points
Date : 2025-05-23 15:12 UTC (1 days ago)
(HTM) web link (techcommunity.microsoft.com)
(TXT) w3m dump (techcommunity.microsoft.com)
| wiseowise wrote:
| Let me guess: proprietary, like Pylance, and unavailable in
| VSCodium?
| someothherguyy wrote:
| Looks like it
| formerly_proven wrote:
| That's the point of the VS Code strategy, yes.
| ParetoOptimal wrote:
| Not to worry, we can _surely_ assume Microsoft will act in good
| faith.
| huqedato wrote:
| 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 wrote:
| 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.
| highwaylights wrote:
| 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.
| wolframhempel wrote:
| 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
| pier25 wrote:
| 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.
| nevi-me wrote:
| 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 wrote:
| 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 wrote:
| 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.
| throwaway2037 wrote:
| I am curious: Which library?
| 0cf8612b2e1e wrote:
| The SQL Server driver for Django. Originally maintained
| by someone from Nebraska, Microsoft then took ownership
| of the project (now lives under the Microsoft GH
| organization). The last commit was 11 months ago. Has not
| supported a current release of Django for over a year
| now. There are almost certainly security implications for
| sticking on the now deprecated Django 5.0. The issues are
| begging for anyone at Microsoft to do something. Several
| pull requests sitting there with the ostensibly required
| updates to make it compatible with the latest Django LTS.
|
| You can find workarounds, but it is an awful situation.
| Now the community is probably going to have to re-fork
| the library back to the public for maintenance.
|
| I am clearly not a bean counter, but if Microsoft wants
| its database to win against the free options, they could
| do their best to ensure popular libraries can seamlessly
| connect.
|
| https://github.com/microsoft/mssql-
| django/issues/418#issueco...
| magicalhippo wrote:
| 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 wrote:
| But it's only for Windows
| magicalhippo wrote:
| 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 wrote:
| 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 wrote:
| SSMS is also for Development, I've been using it for that
| for 20 years
| robertlagrant wrote:
| Yes, it's good!
| pjmlp wrote:
| Same here, much better than the VS tooling for SQL
| Server, including all the Transact-SQL support.
| petepete wrote:
| I still miss the tool it replaced, SQL Query
| Analyzer/Profiler. To this day it's my favourite SQL
| 'IDE'.
|
| https://learn.microsoft.com/en-us/archive/msdn-
| magazine/2005...
| tomnipotent wrote:
| Those features/tools are still part of SSMS today.
| petepete wrote:
| Yeah, it's specifically the old applications I miss.
|
| They were really well designed, incredibly snappy and
| responsive. When SSMS was launched it was really slow and
| clunky on my computer.
|
| I switched to Postgres around that time so I'm 20 years
| out of touch at this point.
| codeulike wrote:
| I had forgotten about query analyzer, didn't it exist
| alongside ssms? I think I used to roll it out when things
| got really serious
| dehugger wrote:
| I agree, I work on an application with a lot of business
| logic in SQL and SSMS ends up being my primary
| development IDE because of that.
| AdrianB1 wrote:
| I just said what Microsoft is targeting the tools for,
| not how they can be used.
| cerved wrote:
| SSMS is what my nightmares are made of
| Wojtkie wrote:
| 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.
| shawnz wrote:
| 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...
| cerved wrote:
| Since most databases expose similar schema views it shouldn't
| be too complicated. Feels like JetBrains has been doing this
| for a long time
| osigurdson wrote:
| SQL server is in "cash cow mode" at this point. Investing more
| into tooling is unlikely to increase revenues at this stage.
| pjmlp wrote:
| I can think of several improvements for Transact-SQL,
| starting with stored procedure packages.
| wg0 wrote:
| I wish there was something similar for SQLite.
| Sammi wrote:
| There are several sqlite vs code extensions and this one's my
| favorite: https://marketplace.visualstudio.com/items?itemName
| =yy0931.v...
| coliveira wrote:
| 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.
| paulryanrogers wrote:
| 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)
| doubleorseven wrote:
| 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.
| harrall wrote:
| 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 wrote:
| 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.
| AdrianB1 wrote:
| 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.
| senderista wrote:
| I have worked with multiple ex-SQL Server engine devs and
| holy shit are they good.
| AdrianB1 wrote:
| 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).
| unixhero wrote:
| Why not Postgresql??? It is fre and the best.
| smt88 wrote:
| 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 wrote:
| 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 wrote:
| 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.
| smt88 wrote:
| You have it backwards. FOSS projects are still currently
| learning from SQL Server and Oracle. That may change in
| the next 5-10 years as Postgres has already become the
| lingua franca of the DB world.
| MangoCoffee wrote:
| >MS SQL server is a legacy system
|
| that's every SQL server out there included Postgres. Is NoSQL
| considered as none-legacy?
| paulirwin wrote:
| 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.
| srigi wrote:
| Yeah, I remember that option - basic tier of DTU DB with
| 250GB of storage - free for one year, then continue for
| $15/m.
|
| 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.
| pjmlp wrote:
| SQL Server and Oracle are as actual as ever, regardless of
| the hate they get on FOSS circles.
| 90s_dev wrote:
| 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.
| 90s_dev wrote:
| 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.
| teruakohatu wrote:
| > 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 wrote:
| 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.
| GuinansEyebrows wrote:
| It's the contemporary version of the second E [0], if you
| will.
|
| [0]: https://en.wikipedia.org/wiki/Embrace,_extend,_and_e
| xtinguis...
| 90s_dev wrote:
| 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.
| ahartmetz wrote:
| I don't believe that all business is "just business". You
| have tobacco companies and Purdue Pharma on one end of
| the spectrum and, let's say, Mozilla Corporation and
| Valve (debatable but I think they're cool) on the other
| end. And, of course, large companies are kinda many
| different entities, really. Microsoft has a long history
| of dishonest behavior, some of it pretty sophisticated
| and with a long-term view. That makes it very hard to
| trust them, generally. Why _is_ part of VS Code not FOSS
| anyway?
| tomnipotent wrote:
| > Microsoft has a long history of dishonest behavior
|
| 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.
| infamia wrote:
| VSCode's marketing was that it is an open source editor
| you could rely upon, complete with open source extensions
| for popular languages like Python. Then when once it
| became popular and vscodium was growing in popularity (a
| vscode fork), MS locked things down. Now the Python
| extensions are closed source, and MS has artificially
| prevented vscode forks from using those extensions. A
| bait and switch if I've ever seen one.
| tomnipotent wrote:
| > VSCode's marketing
|
| Point to this marketing. Here's the blog announcement on
| the 1.0 releases - what I can't find are any examples of
| Microsoft over-promising.
|
| https://web.archive.org/web/20160422123116/https://code.v
| isu...
|
| > MS locked things down... and MS has artificially
| prevented vscode forks from using those extensions
|
| Or like any growing and maturing project they established
| boundaries - one of which was that the plugin marketplace
| was proprietary, which is a perfectly reasonable
| position. Their existing and continued contributions to
| vscode are significant, so I think they can be allowed to
| keep some cards up their sleeves like the plugin
| marketplace or their Python extension. I'm just
| flabbergasted at this idea that somehow we're entitled to
| everything vscode-adjacent "just because", or that
| Microsoft is obligated to subsidize other billion-dollar
| business by giving them free features for their vscode
| forks.
|
| > A bait and switch if I've ever seen one.
|
| Where's the bait? Where's the switch? If the best you
| have is that they released a closed source plugin I'm
| going to bucket this as another borrowed opinion.
| infamia wrote:
| > Their existing and continued contributions to vscode
| are significant, so I think they can be allowed to keep
| some cards up their sleeves like the plugin marketplace
| or their Python extension.
|
| It would have been fine if MS had started with their
| Python extension being proprietary, that would have been
| up front and transparent. Instead, they lured folks in
| (no small part due to open source), and once it became
| popular, they started turning the screws and making
| things proprietary and locking it down.
|
| > I'm just flabbergasted at this idea that somehow we're
| entitled to everything vscode-adjacent "just because"
|
| You're not arguing in good faith at this point. I don't
| think it is unreasonable to ask someone to make their
| intentions known up front do you? Instead MS waited until
| vscode became popular (partly because everything was open
| source) and then altering the deal Vader style closing
| off parts of vscode and extensions that were open. That
| doesn't feel particularly transparent.
|
| > or that Microsoft is obligated to subsidize other
| billion-dollar business by giving them free features for
| their vscode forks.
|
| I have no idea what you're talking about here. Vscodium
| is an entirely free and open source fork, no one makes
| any money from it afaik.
|
| > Where's the bait? Where's the switch? If the best you
| have is that they released a closed source plugin I'm
| going to bucket this as another borrowed opinion.
|
| They released the Python stack as fully open source. Then
| released the proprietary one, deprecating the open source
| one. Then made double certain that vscodium or any of the
| other forks could not use it at all, even if the use
| manually downloaded the extension. How is that not a bait
| and switch?
| tomnipotent wrote:
| > It would have been fine if MS had started with their
| Python extension being proprietary
|
| Except that never happened. Pyright was released first
| and was and continues to be open source. Pylance was
| built on Pyright but has never been open source. No
| promises or commitments were made otherwise. Deprecating
| the open source Python Language Server in favor of
| Pylance is also a perfectly reasonable and valid decision
| - the community was more than welcome to continue
| maintaining it, but most people I know continue to rely
| on Pylance.
|
| > Instead, they lured folks in
|
| Saying this doesn't make it true.
|
| > Instead, they lured folks in (no small part due to open
| source), and once it became popular, they started turning
| the screws and making things proprietary and locking it
| down.
|
| Microsoft has not once backtracked on anything vscode-
| related that's been open sourced. Trying to villianize
| them for not making everything open source is an argument
| with no legs.
|
| > I don't think it is unreasonable to ask someone to make
| their intentions known up front do you?
|
| They have. Point me to a single actual example of
| Microsoft operating in bad faith, that isn't them
| deciding to keep some parts of the ecosystem proprietary
| while 99% remains FOSS.
|
| > Vscodium is an entirely free and open source fork
|
| Microsoft and the vscode team is not making long-term
| decisions with vscodium in mind. But they are probably
| worried about Windsurf and Cursor, the latter of which (a
| billion-dollar company) was caught violating MS's TOS
| around the plugin ecosystem.
|
| Microsoft has spent over a decade investing in, curating,
| and improving the vscode first-party plugin ecosystem and
| being a rather good steward. I think they're perfectly
| reasonable in keeping it to themselves. Creators are free
| to upload their plugins to any alternative marketplace. I
| don't see any arguments being made that can diminish the
| open source contribution they've made with code - oss
| just because parts of the branded vscode are proprietary.
|
| > They released the Python stack as fully open source.
|
| Again, no they didn't. Pyright open source. Pylance
| always closed source. PLS deprecated. But you're entitled
| to what you borrowed.
| infamia wrote:
| > Pyright was released first and was and continues to be
| open source. Pylance was built on Pyright but has never
| been open source.
|
| No, the first Python extension that shipped with vscode
| 1.0 in 2016 was called the "Microsoft Python Language
| Server" and was based on the Jedi LSP. Below is the
| deprecation announcement of the Jedi language server in
| the Pylance launch post below.
|
| > In the short-term, you will still be able to use the
| Microsoft Python Language Server as your choice of
| language server when writing Python in Visual Studio
| Code. > Our long-term plan is to transition our Microsoft
| Python Language Server users over to Pylance and
| eventually deprecate and remove the old language server
| as a supported option.
| https://devblogs.microsoft.com/python/announcing-pylance-
| fas...
|
| > But they are probably worried about Windsurf and
| Cursor, the latter of which (a billion-dollar company)
| was caught violating MS's TOS around the plugin
| ecosystem.
|
| If that were so, I would certainly understand. However,
| MS started closing vscode and the extensions years before
| Windsurf and Cursor (initial release in 2023). This was
| their business model all along get adoption in partly by
| leveraging the open source community, and then close
| things off slowly once they have a choke hold (similar to
| Android/AOSP). I could scarcely agree more that Windserf
| and Cursor are supremely sketchy and generally scummy
| companies.
|
| Consider MS launch announcement that focuses on open
| source, extensibility, open community, and a promise to
| be transparent with their intentions (i.e., vision) and
| roadmap...
|
| > From the beginning, we've striven to be as open as
| possible in our roadmap and vision for VS Code, and in
| November, we took that a step further by open-sourcing VS
| Code and adding the ability for anyone to make it better
| through submitting issues and feedback, making pull
| requests, or creating extensions.
|
| https://code.visualstudio.com/blogs/2016/04/14/vscode-1.0
| /#_...
|
| Except they weren't open and did a u-turn on the
| community a few years later. MS started closing sources
| and locked things down a few years later despite touting
| the benefits of being open and open source in the
| announcement above. Now they have architected the Python
| extension so it only runs on vscode, and will not run at
| all on any fork, which is pretty shady after promising
| transparency and openness.
| tomnipotent wrote:
| You forgot to quote this important part:
|
| > The new, free language server
|
| Pylance isn't the same extension as what was originally
| shipped, it's an entirely different product. Your link
| backs up my argument, not yours. Releasing an open source
| project doesn't not obligate them to continue supporting
| that project indefinitely, and the decision to migrate to
| a closed-source plugin is a perfectly valid and
| reasonable decision. Disagreeing with it doesn't mean
| they've somehow magically violated some implicit
| obligation you think they owe "the community".
|
| > MS started closing vscode and the extensions years
|
| They never "started". The plugin marketplace and vscode -
| the proprietary version of "Code - OSS" - has always been
| proprietary and closed. At no point did they give you
| something and take it away. Deciding to release a closed-
| source replacement for an open-source tool is not the
| same thing, and it's bad faith to argue otherwise to fit
| your fundamentally flawed argument.
|
| > This was their business model all along get adoption in
| partly by leveraging the open source community
|
| >Consider MS launch announcement that focuses on open
| source, extensibility, open community
|
| You're relying on hand-wavy assertions without any
| evidence to back it up.
|
| > Except they weren't open and did a u-turn on the
| community a few years later.
|
| Where's the u-turn? I don't see anything in this post
| that's not true in 2025. Microsoft offers a curated
| plugin marketplace that's proprietary to vscode, and they
| provide distribution and hosting for free without
| requiring anything from creators and users. Pylance
| continues to be free but closed, Code - OSS continues to
| be FOSS, vscode continues to be a proprietary version of
| Code - OSS, plugin authors continue to upload products
| free-of-charge, and users continue to benefit from that
| community that Microsoft has fostered.
|
| They've firmly established what their role is in this
| relationship. There's never been ambiguity between what's
| vscode closed-source and what's code - oss, unless you've
| not put in the effort to find out.
|
| Point to an actual, concrete example of where they've
| acted in bad faith, did a "u-turn", or reneged on a
| public statement rather than hand-wavy generalizations.
| It's on you if you've relied on second-hand HN comments
| and news headlines to build your opinion, and relying on
| misunderstanding of context isn't a convincing argument.
| ahartmetz wrote:
| If eight years is recent enough, Microsoft moved its
| German office to Munich and got the city of Munich to
| shut down its Linux migration in return. Not exactly
| dishonest, but a power move to destroy the competition
| that I happen to be rooting for.
|
| Personal experience is irrelevant if the facts are not in
| doubt. One of these is that Microsoft was a pretty bad
| actor when nobody reigned them in, and I _was_ around at
| the time.
| tomnipotent wrote:
| How can this be described as anything other than
| business? Local governments making concessions to
| businesses generating jobs and SALT is par for the course
| and Microsoft isn't special here.
|
| > One of these is that Microsoft was a pretty bad actor
| when nobody reigned them in, and I was around at the
| time.
|
| So was I (was working in Redmond at the time), and their
| behavior was no worse than what Apple or Google are up to
| today. The anti-trust case itself was 90% theater,
| Microsoft was let off with a slap on the wrist but
| somehow popular culture has decided it was much more
| devastating than it really was because it reinforces
| their "M$ bad" bias. It's hard for me not to chalk
| comments like this to the "borrowed" bucket rather than
| researched and well-informed opinion, and it just
| convinces me further than when it comes to Microsoft
| people are borrowing their opinions rather than earning
| them.
|
| Yes, Microsoft made some dick moves over 25 years ago and
| paid for it. They continue to operate like every other
| business in 2025 despite being the largest company in the
| world by market cap. At some point folks can't keep
| pulling up this card like it's a wildcard-win-all.
| Alupis wrote:
| I recently called this (and other Microsoft behavior) out
| as being "fake" open source. The comment was highly
| controversial with quite a battle of up and down votes -
| so clearly not everyone agrees.
|
| 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.
| ahartmetz wrote:
| Regarding fake open source, WSL2 comes to mind. It is
| entirely useless that it's open source except in one way,
| people can help Microsoft to replace Linux with Windows -
| for free.
| cgio wrote:
| At least they are making windows so bad that the
| incentive to go the other way around with Linux and wine
| looks better by the day. I personally made the transition
| last year. I have been playing with Linux since late 90s
| with dual boot, vms, wsl etc. But Linux never stuck as my
| main driver. I still don't love it, but they managed to
| make me hate the windows experience so much that it feels
| natural to switch. I also have Mac, which I am using less
| and less for some other unidentified reason. Probably,
| that experience has degraded too but in more subtle ways.
| pjmlp wrote:
| Like Android for example?
|
| Yes, Microsoft has an history, yet it isn't as if there
| is any big corporation doing full open source across all
| their products, the large majority only does the part
| that somehow brings good vibes, cuts down their own R&D
| costs, or is a kind of suble way to find out about
| possible new employees.
| pjmlp wrote:
| As most of the big corps contributing to open source.
| datavirtue wrote:
| And most of us are invested in MSFT, so we benefit that way
| as well. (I don't hold any positions)
| pamelafox wrote:
| I'm a developer advocate at Microsoft, and from my perspective,
| both teams have been putting in a bunch of effort improving
| their extensions. I participated in usability studies with both
| the teams behind the SQL Server extension and new PostgreSQL
| extension, and then once they were ready, I participated in bug
| bashes.
|
| 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/
| jiggawatts wrote:
| The problem customers have with these Shiny New Things that
| Microsoft keeps trying get us to switch to is that they drop
| features and entire product suites on the floor, even those
| that aren't officially deprecated and have no equivalent
| replacements. It's common to see SSRS, SSIS, SSAS in
| multidimensional mode, etc... simply forgotten about like
| they no longer exist.
|
| 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.
| shawnz wrote:
| I totally agree and I beg you to consider this feedback if
| you are reading @pamelafox.
|
| 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.
| globular-toast wrote:
| > Quite amazing they put the effort into this for Postgres
| instead of SQL Server.
|
| Embrace, extend, extinguish.
| someothherguyy wrote:
| https://github.com/Microsoft/vscode-pgsql
|
| no source, not a promising privacy policy
|
| https://github.com/microsoft/vscode-pgsql/blob/main/PRIVACY
| uludag wrote:
| 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.
| SomaticPirate wrote:
| I still think Jetbrains has the gold standard in IDE - Database
| interaction
| tdhz77 wrote:
| Interesting in knowing why you think that
| leosanchez wrote:
| It even lints your SQL queries written in other languages.
| Truly gold standard.
| bni wrote:
| And autocompletes, syntax highlight it. I couldn't imagine
| being without this.
| ivanjermakov wrote:
| Because of a rich feature set and amazing integration with DB
| providers.
|
| Good starting point:
| https://www.jetbrains.com/pages/intellij-idea-databases/
| newlisp wrote:
| 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'.
| mrits wrote:
| 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
| _ink_ wrote:
| > [...] all without ever leaving your favorite code editor.
|
| That's cool. How do I get this into JetBrains IDEs?
| jrockway wrote:
| 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 wrote:
| > 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 wrote:
| 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 wrote:
| As far as I went with linting this sort of thing was to
| check that "gofmt -s" yields the code that's checked in. ht
| tps://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.
| lolinder wrote:
| 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 wrote:
| 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.)
| John23832 wrote:
| You download Datagrip
| conradfr wrote:
| You click on the button labeled database in the right-hand side
| panel.
| impalallama wrote:
| Biggest thing that JetBrains has over VSCode for me was their
| very clean built in database tooling
| bdcravens wrote:
| You can also run the database tool separate (DataGrip). That's
| what I do.
| Version467 wrote:
| I didn't know about DataGrip. Looks cool.
| mierz00 wrote:
| Every year or so I try to go back to VSCode but I can't get
| past how good the git and database integrations are in
| JetBrains.
| jeroenhd wrote:
| I think Code has fine git integration, but they way they
| implement it is just very Microsoft. The UI is very much like
| the one they use in their professional Visual Studio UI, and
| whether that's a good thing or not is definitely a very
| personal choice.
|
| I much prefer JB's git integration, but I wouldn't discount
| it just because the UI is so completely different.
| qntmfred wrote:
| 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 wrote:
| 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.
| Errsher wrote:
| Are there any features in datagrip in particular that you
| like that aren't in dbeaver?
| cerved wrote:
| More streamlined UI. I find the graph viewer to display
| some things nicer, like coloring tables, bringing in
| related tables. Slightly better introspection and code
| formatting. Easier refactoring capabilities. Easier to get
| IdeaVim working then whatever Ecplise plugin is needed in
| DBeaver.
|
| 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
| cwbriscoe wrote:
| I used DBeaver (community edition) before Datagrip and I
| would have to give the nod to datagrip overall. I wouldn't
| have even tried it if I did not have the etbrains all
| product pack. DBeaver is great, don't get me wrong, but
| Datagrip just seems a lot more polished overall and the
| settings and the UI just seem more intuitive to me.
| polishdude20 wrote:
| I'd love to try datagrip, what are some advantages over
| pgadmin or others?
| lbreakjai wrote:
| 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.
| zeppelin101 wrote:
| 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 wrote:
| 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.
| jeroenhd wrote:
| Many people love Datagrip because it's got the polish and
| style of Jetbrains' other products. Others hate it and much
| prefer the more classic designs of DBeaver or the browser
| UI of PGAdmin.
|
| I think it's worth downloading the 30 day trial and giving
| it a quick whirl. The people who dislike it seem to get
| hesitant quite quickly, so I doubt you'd need more than a
| day to decide if it's for you or not. There are all kinds
| of cool and fancy plugins you can set up, but I wouldn't
| bother with that if you decide the UX just isn't for you.
|
| It supports quite literally every database I've thrown at
| it, which is pretty nice.
|
| The way it support projects is also rather useful to me as
| a developer. Most SQL tools seem to be focused on being an
| interface first and maybe having a few SQL files open
| second, but Datagrip's basis as an IDE makes it very easy
| to maintain collections of scripts (version migrations
| etc).
|
| That said, I'm not sure if the 99 bucks (a year if you want
| updates, though you get a perpetual license for the current
| version) is worth it. I use it because it's part of
| Jetbrains' all products pack, which I paid to use other
| IDEs, essentially giving me Datagrip for free. If you're
| not already a Jetbrains customer you could definitely give
| it a go, but the value per dollar it provides is very
| different.
| AdrianB1 wrote:
| 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).
| sbuttgereit wrote:
| I've been in that camp for much of my career, and yes,
| tooling matters.
|
| 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.
| specialist wrote:
| All true.
|
| I loved workgroup style app development. R:Base, Access,
| dBase, FoxPro. Then I switched to UI work for a stretch.
|
| Circling back to back-end work, naive me embraced Hibernate
| (2004?), assuming it'd be familiar and good.
|
| I was wrong.
|
| Now that I have a lot of free time, I'm finally recreating
| the workgroup style experience, for the general dev
| population. Sort of.
|
| Using Hibernate, our workflow became: rough in some ORM hack,
| capture the generated SQL, use SQL Query Analyzer and Toad to
| make it work (and performant), coerce Hibernate to regenerate
| the SQL we want. Totally backwards, right?
|
| Eventually we gave up and just used HQL.
|
| At that point, why even bother with ORM?
|
| So I created a "SQL first" workflow. Treat your SQL (DML) as
| source code, use those explicit queries to generate the
| prepared statements (and typesafe DAOs, DTOs, etc). In other
| words, auto-generate all the things you'd do yourself, if
| only you had more time.
|
| I used my tool for years. Am currently making it usable for
| other devs. eg Spent last week making my grammar for MySQL
| "good enough" for initial release. Already have PostgreSQL
| and SQLite, plus my original turrible "poor mans SQL" grammar
| (comparable SQL-92). Which I'll cull once I have "good
| enough" T-SQL and PL/SQL grammars.
|
| Any way. Thanks for reading.
|
| I only meant to confirm your experience with development
| DBAs. The only such person I was able to retain was near
| retirement and was tired of the hustle.
| WuxiFingerHold wrote:
| Hmmm, interesting. I used Datagrip for some years, now DBeaver
| (as I don't have a JB subscription anymore). Datagrip was and
| probably still is very powerful with top intellisense. Now I'm
| using DBeaver and it's very solid. Ok, I'm not spending my
| whole day in it, but when I need it, it does the job well.
| mrits wrote:
| 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 wrote:
| 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...
| jasonthorsness wrote:
| 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 wrote:
| I suspect you're right. And thus came the end of the era of
| free VSCode.
| Onavo wrote:
| Microsoft owns shares of Cursor through OpenAI
| krferriter wrote:
| Can't use it for commercial, non-profit, or revenue-generating
| activities? Uh, this actually seems insane to me? What is it
| for then?
| kstrauser wrote:
| 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.
| ParetoOptimal wrote:
| A more than justified reaction with Microsoft.
| jasonthorsness wrote:
| 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.
| 85392_school wrote:
| > PRE-RELEASE SOFTWARE. The software is a pre-release
| version. It may not operate correctly. It may be different
| from the commercially released version.
| jkaplowitz wrote:
| 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.
| dragonwriter wrote:
| > 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.
| SahAssar wrote:
| > 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 wrote:
| 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.
| SahAssar wrote:
| So you are saying that the parts of for example MIT or
| similar licenses that in clear terms say:
|
| "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.
| kstrauser wrote:
| I'm with you on this one. Consider all the GPL'ed
| software that IBM distributes via Red Hat.
| krferriter wrote:
| 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 wrote:
| > 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.
| pier25 wrote:
| Probably a copypasta mistake?
|
| Why would they spend money into this extension if 99% of
| developers can't use it?
| kstrauser wrote:
| Maybe, but darned if I'm going to be the one to take the
| legal risk of installing it.
| Rastonbury wrote:
| I'm willing to put good money that MS is not going to sue
| anyone for using this
| kstrauser wrote:
| 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.
| atmosx wrote:
| 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 wrote:
| Is there a single example of MS doing something like this
| in the last 10 years?
| adhamsalama wrote:
| VS Code forks like Cursor that use their extensions?
| pier25 wrote:
| That's not precisely a developer using the extension...
| lossyrob wrote:
| 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.
| lolinder wrote:
| [flagged]
| franktankbank wrote:
| [flagged]
| dang wrote:
| " _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=co
| mme...
| franktankbank wrote:
| Huh, I'm not sure I said anything like the above.
| dang wrote:
| 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 wrote:
| 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 wrote:
| _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 wrote:
| > 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 wrote:
| 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.
| dang wrote:
| 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 wrote:
| 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.
| pvg wrote:
| _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.
| dang wrote:
| 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
| included in the 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"), 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=t
| rue&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.
| kstrauser wrote:
| 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 wrote:
| 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!
| kstrauser wrote:
| Right on. I'll keep an eye out for it!
| dmurray wrote:
| 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 wrote:
| 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.)
| edg5000 wrote:
| Not an MS fan, but you guys rock for making VS Code,
| really changed software development for me. Especially
| combined with good language servers (Redhat for Java,
| intelliphense for PHP, Clangd for C/C++, and some python
| stuff). Yay! Sure, Eclipse could do it, but things like
| search, which I do a 1000 times a day, really benefits
| from good UI design choices. It simply speeds up the work
| massively.
| lossyrob wrote:
| The blog has been updated, see the section "Feedback and
| Support".
| ldjkfkdsjnv wrote:
| does anyone actually think like this?
| kstrauser wrote:
| Anyone who works in risk management and/or threat modeling
| for a living does.
| ldjkfkdsjnv wrote:
| thats such a small percentage of people
| kstrauser wrote:
| 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 wrote:
| 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.
| ParetoOptimal wrote:
| Are you insinuating that the way the majority thinks is more
| correct and should be preferred?
| mixmastamyk wrote:
| I notice your very important post, arguably the most important,
| has been buried under piles of fawning. Were you downvoted from
| a higher score?
| jasonthorsness wrote:
| 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 wrote:
| 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 wrote:
| Yeah I already have the all-products pack for Goland, Clion,
| and Resharper, I wouldn't have purchased DataGrip separately
| cwbriscoe wrote:
| Yeah same. As great as Datagrip is, I would have stuck with
| DBeaver if I didn't have the All Products Pack.
| kerenskiy wrote:
| You don't need to buy DataGrip to get all the same
| functionality. It's built-in in every paid IDE as Database
| Tools plugin
| getgalaxy wrote:
| try galaxy instead ;) getgalaxy.io
| written-beyond wrote:
| Beekeeper for small stuff, that's my rule. However, I feel this
| may start to change that for me.
|
| Data grip for big serious stuff.
| pgwhalen wrote:
| 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.
| nico wrote:
| 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
| lyu07282 wrote:
| Isn't that exactly what pgadmin is?
|
| https://www.pgadmin.org/
| codingjerk wrote:
| Looks promising, but I'll probably stick to `psql`
| dpflan wrote:
| 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?
| deadbabe wrote:
| 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.
| homebrewer wrote:
| 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.
| codingjerk wrote:
| 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 wrote:
| 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 wrote:
| 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 wrote:
| Exactly, unleash the crabs.
| codingjerk wrote:
| 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.
| chrisvalleybay wrote:
| Try lazygit. It is truly amazing.
| homebrewer wrote:
| Try https://www.pgcli.com/install if you haven't already, it's
| a nice improvement over pure psql.
| maxluk wrote:
| Would you be interested if this extension supported all of the
| psql commands directly in the vscode editor?
| Toritori12 wrote:
| 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...).
| jjeaff wrote:
| 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 wrote:
| 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.
| pjmlp wrote:
| 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.
| pphysch wrote:
| 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.
| acdha wrote:
| Azure and GitHub are large Microsoft revenue sources. Both
| have first-class VSC integration.
| pjmlp wrote:
| 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 wrote:
| 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.
| tempodox wrote:
| _Erich_ Gamma
| pjmlp wrote:
| Thanks for the correction.
| newlisp wrote:
| _It is also the best Web IDE, for the return of timesharing
| development, sorry cloud._
|
| Also the best webdev IDE.
| edg5000 wrote:
| VS Code is a downgrade from open source to freeware. At least
| the C++ plugin is freeware. And they block access to the
| extension store from any fork (self-compiling VS code is also
| considered a fork). So if you are an OSS purist, VS is bad.
| Other than that it's effing great.
| J_McQuade wrote:
| 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.
| gregd wrote:
| I only use Rider because it's cross-platform. It's not
| inherently better (or worse) than Visual Studio with
| Resharper installed.
| cerved wrote:
| it's fasterb and has a functional vim interface
| solarkraft wrote:
| Most .Net devs I know use VS, I used Rider because it's so
| much less awful.
| dmurray wrote:
| 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.
| TiredOfLife wrote:
| > 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?
| bargainbin wrote:
| Yeah I've been using it since it was released and can't ever
| remember it being marketed as such.
| prmoustache wrote:
| Yeah I only really saw vscode as a "let's capture atom and
| sublime users, bevause they will not use Visual Studio
| anyway" approach.
| Toritori12 wrote:
| 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.
| dontlaugh wrote:
| 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 wrote:
| > 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 wrote:
| VS could do web okay 5 years ago, haven't run it since.
| pjmlp wrote:
| It still does when Web == .NET Web, and way better than
| VSCode at it.
| getgalaxy wrote:
| 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
| MonkeyClub wrote:
| Your whole comment history seems to be spamming for your app.
|
| Not a good way to generate potential user interest or generally
| good feelings towards it.
|
| Just saying.
| written-beyond wrote:
| I agree, I immediately felt that their product was cheapened
| for me. The only other "newish" developer tool I used were
| Beekeeper and Bruno and that too only because there were a
| lot of users naturally shilling for them (like I am now) on
| HN.
| sphars wrote:
| The GIF on your landing page is very jarring, with the constant
| zooming in and out. Way too fast to read what you're zooming
| into.
| FajitaNachos wrote:
| Postico has always been my defacto way to interact with Postgres.
| Curious if there are any Postico users who have tried this yet.
| deepsun wrote:
| Very Mac-oriented, and I think IntelliJ built-in DB editor has
| way more functions / features.
| jasoncartwright wrote:
| The heavy Mac UX compliance is the reason why I enjoy using
| Postico for 99% of straightforward Postgres tasks
| georgel wrote:
| 10+ year user of Postico. I will give this a try. I hope
| Copilot can start recognizing the schema when I use node-pg.
| saqadri wrote:
| 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 wrote:
| (prisma team member)
|
| We're going to be rolling out Prisma Studio as a VS Code
| extension soon!
| ketzo wrote:
| 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!
| weitendorf wrote:
| 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 wrote:
| 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
| seveibar wrote:
| 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 wrote:
| 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 wrote:
| 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.
| what wrote:
| You built it but you don't know what it outputs?
| jsmith99 wrote:
| I just use a MCP server (with copilot or cline) that has a read
| only login to my database.
| BoorishBears wrote:
| 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.
| fwip wrote:
| MCP also gives the LLM access to your example data, which
| can add clarity beyond what your schema alone provides.
| tempaccount420 wrote:
| 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).
| BoorishBears wrote:
| You're dealing with the full TTFT x2 + the tokens all the
| prompts of all your MCPs before you even get to that
| round trip to the DB.
|
| And you don't have to wonder about "if designed well":
| the reference implementation that's getting 20k downloads
| a week and getting embedded in downstream editors is is
| not designed well and will make the round trip every time
| and still not give the LLM the full information of the
| table.
|
| Most MCP implementations are crappy half-assed
| implementations in similar fashion because everyone was
| rushing to post how they added <insert DB/API/Data
| Source> to MCP.
|
| And if you're worried about "context fatigue" (you mean
| LLMs getting distracted by relevant information...), you
| should 100% prefer a well known schema format to N MCP
| prompt definitions with tool usage instructions that
| weren't even necessarily tuned for the LLM in question.
|
| LLMs are _much_ more easily derailed by the addition of
| extra tools and having to reason about when to call them
| and the results of calling them, than they are a prompt
| caching friendly block of tokens with easy to follow
| meaning.
| nsonha wrote:
| The schema in the db should be the source of truth and an
| MCP server like that is the most flexible, can work with
| any ORM set up
| wredcoll wrote:
| What source of truth? If you have access to the database
| then you have the actual truth right there.
| layoric wrote:
| Out of interest.. does the resultant data get used by the LLM
| or just generating SQL, executing and returning separately?
| maxluk wrote:
| 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.
| layoric wrote:
| Thanks. I worry about these kind of tools connecting to
| production databases.. Especially considering how easy it
| is to switch out LLM endpoints, where that data is going,
| how it is retained, the context etc becomes a bit of a
| privacy nightmare..
| maxluk wrote:
| Absolutely valid concern. Our extension connects to LLMs
| through Github Copilot. Github Copilot is Microsoft
| product and offers variety of enterprise plans, which
| enables your IT to approve what can be used for what kind
| of data. This gives you a clear path towards compliance
| with your enterprise requirements.
| layoric wrote:
| Makes sense. Appreciate the responses. Honestly though,
| as a person outside the US, I'm removing my dependence on
| US company IT tools and infrastructure, GitHub, VSCode,
| AWS etc, enterprise or otherwise.. Congrats on the
| project though.
| semiquaver wrote:
| I'm confused. Isn't including the canonical state of the
| database schema in version control along with all the
| migrations that brought it to that point a completely standard
| part of every web framework?
| wredcoll wrote:
| That "works" for about as long as you have <10 employees and
| <3 customers or so. After that the railsapp doesn't get to be
| the sole owner of the db.
| sbarre wrote:
| Do you have multiple separate apps that can change a shared
| DB schema?
|
| How do you keep that all in sync across your apps?
| int_19h wrote:
| In situations like these, the database admins are the
| ones responsible for the schema; the apps are mere users.
| scott_w wrote:
| So usually one is the "main" but, personally speaking,
| I'd just say "don't do it," for the obvious issues I
| suspect you're aware of ;-)
|
| By "don't do it," I mean having multiple apps talk to one
| DB schema.
| throwaway7783 wrote:
| "don't do it" is the right answer. Others have pointed it
| out as well, many large SaaS companies I worked with,
| have had apps owning their databases. Anyone else needs
| anything - use APIs (and ETL if you need everything)
| ecb_penguin wrote:
| It's definitely not the right answer. It's actually the
| completely wrong answer.
|
| Services are slow, restrictive, and don't enjoy the
| benefits of an actual DBMS, like transactions. You also
| add additional dependencies and failure points.
| YorickPeterse wrote:
| It worked fine for GitLab when it had 2000+ employees and
| god knows how many customers. The same applies to many
| other large Rails shops.
| bigfatkitten wrote:
| Providing access to other services is what APIs are for.
|
| Jeff Bezos famously said[1] that anyone who does otherwise
| should be fired, and I agree.
|
| [1] https://news.ycombinator.com/item?id=18916406
| int_19h wrote:
| SQL is also an API.
| bsaul wrote:
| the reason he did that was for business reasons. He
| wanted to be able to expose any part of the stack as a
| public service to external customers, and vice versa, to
| let his internal service compete against the publicly
| available ones.
|
| But this is only valid when you're trying to build AWS.
| Not everyone does that.
|
| Relational databases have extensive permission systems
| for a reason.
| cowsandmilk wrote:
| The distributed computing manifesto for Amazon is from
| 1998. Jeff was not thinking about those things then. And
| wouldn't for 5 more years.
| dragonwriter wrote:
| > Providing access to other services is what APIs are
| for.
|
| Yeah, and databases expose extensive APIs with extremely
| battle-tested security and permissions models for
| multiple consumers.
| cerved wrote:
| I'm more confused why the version control of the thing using
| the database is including the entire schema of the database
| in it's repository
| koolba wrote:
| It makes it trivial to have pretty diffs of the net result
| of migrations.
| schrodinger wrote:
| The database schema of an app is tightly coupled enough to
| essentially be code, and migrations are also probably
| checked in. This lets you see how the db schema changes
| over time -- likely along with the queries using the
| schema.
| int_19h wrote:
| This is only true when your app is the only thing that is
| using the database. In enterprise environments, databases
| are frequently shared between many different apps.
| mnahkies wrote:
| Sure, and in those cases you'd typically have a dedicated
| repository storing said schema and migrations.
|
| It's important to manage your schema in code for various
| reasons from change control to standing up development
| databases, etc.
| xyzzy123 wrote:
| It often is, but the schema might be written against a
| language-specific ORM.
|
| 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.
| tough wrote:
| Sane ORMs will still use sql for migration files
| OJFord wrote:
| I agree it's much better to, but the biggest ones are
| probably Django & Rails (?), and they don't.
| tough wrote:
| yeah tbh i was mostly thinking about the newer crop of
| ts/js ones (kysely/drizzle) vs the earlier mess that
| TypeORM or others where on its place, so at least its not
| so bad.
| cortesoft wrote:
| There are a lot of advantages to using a DSL for
| migration files rather than pure sql. For one, many times
| you will get both forward and reverse migration ability
| automatically, to allow rollbacks (with the ability to
| mark certain migrations as unable to rollback). You also
| can have the DSL utilize different features depending on
| which database you are using without having to change
| your migration. You can also use special syntax to
| designate relations between tables easily without having
| to write the boilerplate SQL every time.
|
| If you are using an ORM, using the same language and
| mental model to describe your database structure as you
| do to interact with the database makes a lot of sense.
| jen20 wrote:
| The _canonical_ state is what is in the production
| database(s). What's in version control is hopefully able to
| recreate it, with the obvious caveat of being highly unlikely
| to be able to repopulate the data.
| dotancohen wrote:
| For development, the actual data itself is not so
| important, but the features of the data are extremely
| important. Such as which fields have higher or lower
| cardinality, which fields are accessed often and which are
| barely touched.
|
| Often times, the indexes will reflect this. Often times,
| not.
| zX41ZdbW wrote:
| Wow, this is precisely how ClickHouse stores table metadata! A
| set of .sql files in the directories, corresponding to
| databases.
| abetaha wrote:
| This looks great. Would all the functionality work if the
| databases are hosted on other cloud providers?
| maxluk wrote:
| 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 wrote:
| Thank you, this is great
| barfolomew wrote:
| I will be using this. 100%. very handy
| bdcravens wrote:
| 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.
| Fire-Dragon-DoL wrote:
| 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
| jayflux wrote:
| VS Code has had multi monitor support for a while now
| https://code.visualstudio.com/docs/configure/custom-layout#_...
| bartvk wrote:
| Have you thought about just solving the problem with hardware?
| I.e. one giant 38" wide screen?
| wenc wrote:
| 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)
| cebert wrote:
| I wonder how well this IDE works if you use AWS or GCP instead of
| Azure.
| tsumnia wrote:
| I run a personal Postgres server so I'm wondering how well it
| does there
| deepsun wrote:
| 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.
| maxluk wrote:
| 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.
| deelowe wrote:
| Does something like this exist for mysql?
| vincnetas wrote:
| DBeaver?
| deelowe wrote:
| For vscode? I thought dbeaver was its own app.
| p4ul wrote:
| Your understanding is correct, dbeaver is a stand-alone
| application.
| rubabu wrote:
| does this work for non-Azure?
| maxluk wrote:
| PM on the project here - Yes! It works on any Postgres, on-prem
| or cloud
| gabrieledarrigo wrote:
| Hi maxlux, is it possible to configure a connection over SSH?
| maxluk wrote:
| 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.
| zamacho wrote:
| Is there a similar extension for MySQL in VS Code?
| jamesgeck0 wrote:
| 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/
| 0x8j0rn4r80r93 wrote:
| This is great!
| helpfulContrib wrote:
| Has there been a final solution to the VSCode phoning-home
| problem?
|
| Last time I tried to use it in my environment, it triggered too
| many 'external network requests' for the liking of our IT guy. We
| relegated it to the "Do Not Use" pile as a result.
|
| Has this been resolved? Nobody in my team wants to use an IDE
| that sends data back to its masters ..
| nodesocket wrote:
| 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 wrote:
| 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.
| jenny91 wrote:
| Glad to see them releasing it under an MIT license.
| hamandcheese wrote:
| It's not. There is no actual code in the repo.
| qwertywert_ wrote:
| 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.
| lukebuehler wrote:
| 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.
| ketzo wrote:
| 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.
| drited wrote:
| 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
| deepsun wrote:
| 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.
| srameshc wrote:
| 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.
| brulard wrote:
| 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.
| todotask2 wrote:
| 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.
| pamelafox wrote:
| Please file that bug in the issue tracker:
| https://github.com/microsoft/vscode-pgsql/issues
|
| The team is very receptive to feedback, in my experience.
| didip wrote:
| 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.
| spiderfarmer wrote:
| Have you read the article?
| VeejayRampay wrote:
| 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 wrote:
| Figure 6 in the article shows it.
| VeejayRampay wrote:
| thanks a lot
|
| I really wonder why they would call it "server name" instead
| of database host though
| written-beyond wrote:
| True it's a little confusing, I think it's probably because
| they use that generic term a lot around code for other
| places that may have a context specific name for the
| "server" is called.
| Ericson2314 wrote:
| Microsoft Access meets PostgreSQL, 3 decades later?
| cerved wrote:
| Is there something related to Access in this that I missed in
| this or you just being salty, because I have to work with that
| garbage and if there's something better than DBeaver I can use
| for that I'm all ears
| Ericson2314 wrote:
| I'm just picking Access as an example of an old MS "database
| GUI".
| jasoncartwright wrote:
| Ah man, Access. Got a website to over 1m users/month with a
| dead simple Access DB and ASPv3. Back when a million users was
| a million users.
| tombert wrote:
| 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?
| debarshri wrote:
| 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.
| deleed wrote:
| You don't use it but still it's nice feature to have, isn't it?
| tombert wrote:
| Oh sure, I'm not criticizing its existence.
| epolanski wrote:
| I think he went a long way to simply ask what do these tools
| do that a cli won't.
| mcv wrote:
| I haven't used it for relational databases, but I can imagine
| it's useful to visualize complex relationships between tables.
| hbn wrote:
| 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 wrote:
| Using a UI to explore data is like looking at the picture
| instead of someone describing the picture with words.
| tombert wrote:
| 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 wrote:
| 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.
| timewizard wrote:
| 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.
| maxluk wrote:
| Isn't it a problem with many-to-many relationships in
| relational algebra? You have to have this artificial table
| to relate things in many-to-many way. How would you display
| it in a better way?
| timewizard wrote:
| The tables should be better ordered. "speakers" is
| obviously the primary table here and should be top left.
| The "session_speakers" should be between it and the table
| it maps "sessions." Then "reviews" and "events" on the
| bottom. There's an obvious "top end" and "bottom end" of
| this structure that this graph completely gets wrong.
|
| 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.
| maxluk wrote:
| That's great feedback! Thank you! I wonder if we can
| auto-layout in the way you describe. Should be doable. We
| will look into it.
| pamelafox wrote:
| The schema visualization is a feature of the extension, not the
| primary mode of navigation. Lots of people love visualization,
| but not everyone does - totally cool to not use it. I think
| it's a fun way to browse a database that's new to me, to see
| roughly how things are connected.
| illuminated wrote:
| 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.
| deepsun wrote:
| 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 wrote:
| 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
| deepsun wrote:
| I was a junior back then, and was afraid to speak up that
| Rational Rose is just a waste of time. Don't you dare say
| that about LLMs!
| pjmlp wrote:
| No worries, nowadays we have Enterprise Architect
|
| https://www.sparxsystems.eu/
| meta_ai_x wrote:
| 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 wrote:
| 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 see the full picture
| and decide myself.
| timewizard wrote:
| 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.
| deepsun wrote:
| LLM All THe ThiNgS!
| blibble wrote:
| it was in Access 95 and FoxPro (and likely before that too)
|
| slowly development tools are catching up with the 90s
| pjmlp wrote:
| Graphical schema image generation was already a thing in 1990's
| Windows IDEs for databases.
|
| People have to stop pretending there were no IDEs before
| IntelliJ .
| polishdude20 wrote:
| Just tried it, wish there was better refactoring tools available!
|
| If love for there to me a "rename variable" feature.
| d0100 wrote:
| So it's just Azure Data Studio where it lacks SSH tunneling...
|
| I got my hopes up for nothing
| scirob wrote:
| 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
| robertlagrant wrote:
| > Password-less authentication with Entra Id
|
| I don't understand why the first four points under this heading
| are basically the same.
| ryanmccullagh wrote:
| Remember the old adage, embrace, extend, extinguish.
| xandrius wrote:
| They will extinguish postgres?
| unnouinceput wrote:
| They definitely tried that with MSSQL. Didn't worked so far.
| But M$ tactic is always the same. Copy, throw money, copy
| some more, throw more money. If doesn't work, change the CEO,
| throw more money until the rival is dead. So yeah, they are
| throwing money to try to suppress PGSQL from existence. They
| did that tactic with Delphi (bought the main guy from Borland
| and that's how we got C#), MSSQL is their answer to
| PostgreSQL, ASP is their answer to PHP and so on. Oh, and if
| you think "MS loves Linux" is anything but this tactic, think
| again - WSL/WSL2 is the proof they still trying to kill
| Linux.
| pbw wrote:
| 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?
| Sammi wrote:
| There are multiple vs code extension for sqlite. I tried a few
| of them and they were not great. Except this one, which I now
| use daily:
| https://marketplace.visualstudio.com/items?itemName=yy0931.v...
| pamelafox wrote:
| Congrats to the team on launching this! I was actually the first
| to demo it, as part of our sponsored session at Microsoft last
| week.
|
| 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
| justusthane wrote:
| Hey, just a heads up that your website 404s if visted at
| "pamelafox.org", which is how it appears in your bio.
| pamelafox wrote:
| Thanks, I need to move that website to GitHub Pages soon, the
| current host isn't handling the naked domain well. Changed to
| www.pamelafox.org for now.
| nsonha wrote:
| Shame it's not a generic thing that can work with MySQL
| theappsecguy wrote:
| Ages behind Jetbrains and more of electron dumpster fire. No
| thanks
| herpdyderp wrote:
| Too bad I switched to PGlite for local dev (not really because I
| love PGlite). I unfortunately don't see any PGlite VS Code
| extensions.
| hn1986 wrote:
| I wonder if this will work with Redshift , which is based on
| Postgres?
| WuxiFingerHold wrote:
| >> all without ever leaving your favorite code editor
|
| How do I install this on Neovim then? Is there a LSP? Or is this
| Microsoft proprietary? I wonder how much better without Copilot
| integration this is then the competition.
|
| I'm using DBeaver CE currently. Does all I need (also for
| SQLite).
| diggan wrote:
| When for-profit companies write "Democratizes X for all" it
| means "for people who can pay and aren't embargoed". When they
| write "Simplify" it means "Get locked in to our ecosystem".
| When they write "Your favorite X" it means "The product we're
| selling to you", and so on.
|
| Once you start reading press releases with this business-
| dictionary, it gets a lot easier to just close the tab and move
| on.
| asrael_io wrote:
| i feel like we need a first-era unsuck it search engine for
| this :D
| fithisux wrote:
| Even for DuckDB, I use DBeaver CE the last 9 years
| professionally. Also when I do Python Dev I reach for JupySQL
| in Jupyter when I need something quick and it works in VSCode
| through Jupyter plugin..
| ajsharp wrote:
| and just like that, 90% of the reason i pay for a jetbrains
| license just...disappeared
| throwaway2037 wrote:
| The difference? JetBrains won't pull the rug on you, or abandon
| the product at the next turn in the road.
| dankobgd wrote:
| Tried it, queries work but i can't even show the columns and
| other meta data. it says no connnection even though i have a
| connection to do queries.
| jtougas wrote:
| I used Azure Data Studio with SQL Server for a while--decent, but
| still clunky. I believe this plugin is the evolution of that, so
| it's probably solid too--but can't beat out what I'm currently
| using since it targets only Postgres.
|
| It's going to be tough to beat SQLTools for Sublime Text
| (https://code.mteixeira.dev/SublimeText-SQLTools/). It's simple,
| fast, does the basics right, and crucially, works for many of the
| usual suspects.
|
| Most IDEs try to do everything and fail, yet only target one db
| vendor. They're _all_ bloated and buggy, with endless trees and
| menus, bells and whistles. Results grids are slow, copy/paste is
| janky, formatting is never quite right--or outright misleading.
|
| SQLTools stays out of the way and just works.
|
| ...also, I don't want AI-powered nonsense. I'll reach for that
| when I need it. Get off my lawn.
| overtomanu wrote:
| There is also an extension for VS Code from the same author
|
| https://github.com/mtxr/vscode-sqltools
| mohsen1 wrote:
| This is not available in Cursor. Extension ID "ms-ossdata.vscode-
| pgsql" returns no results. I wonder if Microsoft is blocking
| VSCode forks from having this extension?
| jeroenhd wrote:
| Cursor was based on quite an old version of VS Code laat time I
| checked, so it's possible Microsoft just didn't target
| compatibility with a release from six months ago.
|
| This is also what's said here by one of the devs:
| https://github.com/microsoft/vscode-pgsql/issues/15
|
| Looks like manually loading the VSIX to bypass the
| compatibility check should work but who knows how stable
| that'll be.
| dunefox wrote:
| "You don't have permission to access url"
| alexpham14 wrote:
| I'm truly grateful for this. It's really helpful because I love
| VSCode, and most of my projects use Postgres. The decision to
| prioritize Postgres support was quite unexpected.
___________________________________________________________________
(page generated 2025-05-24 23:00 UTC)