15 ms·
When did Postgres become cool?
- mrj 3y agoAs with anything truly cool, it was cool long before most people noticed. I have been using Postgres on and off since ~7.2 and it has always been amazing. Being known as cool takes time.
- ianmcgowan 3y agoCoolness is not evenly distributed :-) Even banks now have Postgres, it doesn't hurt that Oracle is such a nightmare to deal with..
- mrj 3y agoHa yeah we used to have to sneak in Postgres apps back in day. Some banks were indeed cooler than others.
- wonks 3y agoIt surely was the "I'm so cool you don't even know I'm cool" kind of cool.
- Zandikar 3y ago> Postgres wasn't always the cool kid. Has been since before the Maria/MySQL split in my sphere of the world. Always interesting to see how different people perceive tools over time. Honestly this sounds more like "When did psql go mainstream"?
- throw1234651234 3y ago~5 years ago in the midwest.
- justinclift 3y ago> the first Postgres company Great Bridge. That doesn't seem correct. Wasn't PostgreSQL Inc. the first PostgreSQL company?
- kneebonian 3y agoSince the second someone found a reasonable enterprise alternative to the proctology practice that is Oracle.
- mschuster91 3y agoOracle fucks you in pricing, PostgreSQL in the effort required to pull off a minor version upgrade.
- justinclift 3y agoWhat's the situation where minor version upgrades are giving you trouble? Asking because it's not supposed to be troublesome. In theory (!), minor version upgrades don't require any change to the on-disk data, so you should be able to just upgrade your PG binaries then restart the database.
- mschuster91 3y agoAh, looks like psql seems to have switched to actually using minor and major versions properly during the last two years - I remember the dance from the 9.x versions and postgres-upgrade [1]. In any case it's way more straightforward with mysql. [1] https://hub.docker.com/r/tianon/postgres-upgrade https://hub.docker.com/r/tianon/postgres-upgrade
- justinclift 3y agoFor Docker usage you'll probably be better off with the "automatic upgrade" images instead: https://hub.docker.com/r/pgautoupgrade/pgautoupgrade https://hub.docker.com/r/pgautoupgrade/pgautoupgrade --- That being said, those pgautoupgrade images are alpine Linux based. People coming from non-alpine Linux images of PostgreSQL will probably need that older not-automatic approach you linked to.
- plaur782 3y agoJosh Berkus had a great talk on the history of Postgres forks and variants. Link below to slides from a version of this talk in 2009: https://www.slideshare.net/pgconf/elephant-roads-a-tour-of-postgres-forks https://www.slideshare.net/pgconf/elephant-roads-a-tour-of-p...
- Daviey 3y agoI think a version of the same talk was done at FOSDEM that year, and I remember it being very interesting!
- tracerbulletx 3y agoWhen I started using Django 10 years ago during the Django/Rails era, Postgres was by far the most recommended DB to use. Not sure if that was also true in Rails community.
- masklinn 3y agoI'm not sure it was as common as with Django, but it was a very common one, especially as Heroku only provided Postgres support.
- tarikjn 3y agoSecond this, I'd say started being common for Web apps in 2008 and "industry standard" by 2012 in the SF Bay Area.
- craigkerstiens 3y agoI definitely recall being on the talk committee one year for DjangoCon, and there was some rough discussion. (Context: The conference was generally a two track conference but keynotes and a few other sessions were single track). One of the single track talks was about Postgres. The discussion was roughly "If we have a Postgres talk we should have another talk like Mongo or MySQL" and the response was roughly "Everyone in Django is using Postgres and if you're not you should be at the talk to learn why you should". Way more Rails apps used MySQL or other databases, it was largely Heroku winning Rails that led to the strong adoption amongst that community.
- cglace 3y ago~2011 I remember people religiously recommending postgres over mysql. ~2009 it seemed the go to db was still mysql.
- pessimizer 3y agoOracle bought Sun in 2010.
- toolz 3y agoStarted using rails 10 years ago, myself. Postgres was by far the most common recommendation. In fact I learned a rule of thumb, early on, that I abide by still today: Always start with postgres and only migrate out once you understand your data well enough to consider the migration a clear win.
- deleted 3y ago[deleted]
- fcatalan 3y agoI run Postgres since about 2016. I used to run MySQL behind the same frontend app. I barely know anything about Postgres beyond installation for our use case, backup and recover. I used to know loads about obscure MySQL optimization techniques, fixing broken tables, fiddling with scary parameters and recovering from hair raising situations. I like my current state of ignorance.
- eyphka 3y agoRunning Postgres in production since 2017. Some trivia required, but nothing like priest knowledge needed for MySQL. I love not having to be trivia king.
- mosselman 3y agoWhat kinds of things do you need to do for MySQL? I’ve always run postgres, that is why I ask.
- Doxin 3y agoOne example of the sort of trivia that's burned into my brain: You never want to use the utf8 encoding. It's broken. What everyone else calls utf8 MySQL calls "utf8mb4". MySQL is filled to the brim with this sort of thing.
- sitzkrieg 3y agoa wonderful side effect of well made software
- deleted 3y ago[deleted]
- kalleboo 3y agoIsn't that just more about the abundance of hardware we have these days? While on the MySQL side you had to delve into tweaking the different cache sizes and picking MyISAM or InnoDB depending on the use case, on Postgres you had to deal with stuff like manually running VACUUM at the right time or later when that arrived tweaking the autovacuum params. These days even on my "underpowered" NAS I can just run a default docker image of my database and not worry about tweaking anything.
- xnx 3y agoPostgres became cool when the scales fell off peoples eyes and they realized that very few use cases necessitate or even benefit from "NoSQL" databases.
- dymk 3y agoIt was way before that - it was when people got fed up with the string handling and implicit type casting stupidity of MySQL
- Avshalom 3y agoIt was excellent and recommended over MySQL before but I agree it became "cool" in the wake of the mongodb/nosql hype->trough of disillusionment transition.
- pessimizer 3y agoI think that also came late. It was when Oracle bought Sun. People who needed a drop-in replacement moved to MariaDB, but it was the last straw for people who were creating new projects and sort of hated MySQL anyway. Everybody remembered the other one.
- pixl97 3y agoI think a large amount of mysql was based on PHP applications with default mysql support.
- fjfuvucucuc 3y ago[dead]
- weinzierl 3y agoThis is also my opinion and I think before that MySQL was known for fast and Postgres for features and correctness. I think the change went both ways, people realized that MySQL's casual approach only got them so far and at the same time Postgres focused more on performance without giving up its existing qualities. I think Postgres became cool when it became fast (too).
- nottorp 3y agoHmm for me when Oracle bought MySQL.
- danielovichdk 3y agoYes. Strange how people seems to have forgotten that.
- teddyh 3y agoI picked PostgreSQL over MySQL for a project I did in 2005. I picked it since the project would benefit from many advantages which PostgreSQL already had over MySQL, and it would not particularly benefit from MySQL’s only often-touted advantage, speed. This turned out to be the correct choice, and this has not changed since.
- bloudermilk 3y agoWhen I started working with Rails in 2008 having come from PHP, both communities were pretty squarely in the MySQL camp by default. That changed quickly over the following couple of years however. As I recall, the free Heroku Postgres offering had a huge influence.
- stavros 3y agoPostgres has been cool since the early 2000s. SQLite is even cooler.
- convolvatron 3y agoidk. I did worked on a distributed database startup in the mid-2000s and we started with a PG base since that made sense. it became pretty clear that the market was still based around MySQL and so we pivoted. maybe we were mistaken, but lets say the picture was still fuzzy
- stavros 3y agoYou're right, the recommendation in the LAMP era was MySQL, but it ate some of my data once (the disk got full and it kept writing) and I never trusted it again.
- throwaway71271 3y agoi used mysql for almost 20 years, since 3.23 and in the last 4 years i am exclusively using postgres (because of the hype and i thought i am missing out), and its not my cup of tea. i just love mysql's hackable storage engine (particularly the new lsmt engines), and i hate toast so much, not to mention the permission system which is so convoluted and it is so easy to shoot yourself in the foot. and of course it does not play nice with low iops ebs. its too expensive to migrate from pg now, but i would avoid it in the future i usually dont use super sophisticated sql, so mysql is actually pretty good for me considering i can tune the knobs on some tables pretty well.
- convolvatron 3y agocurious - Postgres isn't hackable enough for you? I've found it much more amenable to changes in say, the storage engine, than mysql ever was.
- throwaway71271 3y agoit could be just that i am more comfortable with hacking mysql, or just the early design principles of early mysql makes it a more hackable (its easier to lose some characters from acid haha) nothing against postgres, i just think its a bit overhyped and its also harder to squeeze it in the cloud's ridiculous iops prices
- adrianmsmith 3y agoI remember going to a general community-run tech conference in Vienna in 2002 and there was a talk on PostgreSQL which I'd never heard of at that point (had been using MySQL and Oracle). The person giving the talk was a nerd and quite enthusiastic, and quite sad that PostgreSQL wasn't more popular. Come to think of it, I guess that person is happy now :) So I would say it was already "cool" at that point (albeit not in wide use, at least in my circles). We weren't too happy with Oracle (pricing), and we'd only moved to that after being unhappy with MySQL in 2000 (no transactions!). I think PostgreSQL would have been a good choice for us, and I did give it a try, but migrating all the data out of Oracle just didn't really seem possible (Oracle didn't provide great export tools as you can imagine, and a "SELECT col1 || "," || col2 .." type of thing to produce a CSV would have taken hours per table and we had a few dozen tables, so would have either resulted in days of downtime, or some funky logic with a lookup table to say which database a user was in and moving them over one-by-one, but then what about FKs? what about a "messages" table where one user sends a message to another? etc. So on Oracle we stayed until the end of the product around 2012.
- nologic01 3y agoWhen shopping for an open source SQL database, cool is not the first thing in your mind. You are looking for familiarity, compatibility, reliability, viability etc etc, lots of -ity words that are decidedly uncool but, ahem, realy important. What made postgres "cool" for me was the realisation that you get more than what you bargain for: > More than "just a database", it's a data platform This feeling of being also relevant for the evolving world of data engineerimg comes from noSQL functionality like JSON support and also extensions that allow graph operations. So postgres is cool because it is a reliable workhorse that wont let you down but its codebase and community have also the DNA of a racehorse that can win an occasional race for you. What else can you ask of a horse? :-)
- 0xbadcafebee 3y agoPostgres was cool. Now SQLite is cool. In a few years .INI files will be cool. Fads gonna fad.
- lolive 3y agoParquet+S3 ;)
- MichaelMoser123 3y agoS3 stops being cool when you get the cloud providers bill.
- quickthrower2 3y agosystemd will be cool I tell you!
- CRConrad 3y ago.INI files have always been cool.
- jghn 3y agoI remember in the early-mid aughts I evaluated Postgres vs MySQL. At the time the conventional wisdom seemed to be that Postgres was focusing more on robustness and MySQL more on functionality. And a lot of people seemed to prefer MySQL because of this. When I looped back around several years later Postgres had started to overcome MySQL. Conventional wisdom then was it was roughly at feature parity with MySQL but more robust. So it would seem that working on having a robust inner core first paid off, even if it cost some early reputation.
- convolvatron 3y agoPostgres started in 1986. its was never less featureful than MySQL...in fact MySQL tried to get by without _transactions_ for the longest time. the fact that MySQL had more market/mindshare at any point is more of a testament about crowd mentality than anything about either of the two databases.
- craigching 3y agoI remember maybe circa 2004 debating Postgres and mysql with a colleague. I told him to unplug the machine that was hosting his mysql instance. He did and corrupted his database. He said it didn't matter, he had backups, speed was more important :p This was before mysql had the innodb storage engine, after that it wasn't so bad. I have always stood by Postgres though, it's a fantastic piece of open source software.
- jghn 3y agoSorry - I said functionality but meant performance. Doesn't look I can edit my post anymore. I don't know if that was even true, but that was what the wisdom of the crowds said at the time.
- CuriouslyC 3y agoMySql did have better insert performance for a while, but this was due to unsafe defaults in conjunction with no transactions, which is only a good tradeoff if you're storing disposable data.
- etchalon 3y agoWas it that Postgres became cool or that MySQL became unreliable post-Oracle and developers were looking for an alternative?
- gtowey 3y agoDevelopers were afraid it would become a tool for Oracle to monetize and trap people in their ecosystem. That never really happened and they have actually done some really good development work on it.
- tmaly 3y agoI have been using Postgres since version 6.x and I thought it was cool back then.
- genman 3y agoFor me about 2001 or 2002, I think. It never became uncool since.
- brimstedt 3y agoI see a lot of comment reflecting on MySQL and oracle vs postgresql. Anyone with experience of MSSQL and PostgreSQL who'd like to comment on how it they compare?
- gtowey 3y agoMy experience says that PG wins in the SQL language feature department. However IMHO MySQL still wins in operational efficiency and performance. These are things that only start to matter when you scale your database and most people never actually reach those sizes.
- CRConrad 3y agoThere already are a lot of mYsql comparisons; I think that was why the GP asked for an mSsql comparison.
- sdsd 3y agoWhen MySQL was purchased by Oracle. For a time, MariaDB was the new option, but its commitment to binary compatibility with MySQL made it feel bogged down. Fun fact: Julian Assange contributed code to PostgreSQL a long time ago: https://news.ycombinator.com/item?id=18464671 https://news.ycombinator.com/item?id=18464671
- gtowey 3y agoThis is the most direct explanation. The blog post avoids talking about this at all, but I'm guessing that's to keep the post informative and not let it degrade into a database flame war. As a MySQL DBA for the past 20 years it was practically the only choice until Oracle bought Sun, then it was instantly radioactive. A shame because the fears people had were unfounded and some of the best development work has been done since then.
- CuriouslyC 3y agoPostgres already had cachet before Oracle bought MySql, but it was seen more as a small scale oracle replacement for people who were serious about data integrity or for lower volume OLTP work in the web sphere. The MySql acquisition coincided with performance gains by Postgres that made it more applicable to web scale OLTP workloads, and JSONB support was really the nail in the coffin.
- evanelias 3y agoMariaDB doesn't have a commitment to binary compatibility with MySQL, though. For a time it was marketed as a drop-in replacement, but that has been increasingly untrue for over a decade now.
- sdsd 3y agoAha, I didn't know that. Looks like the marketing worked too well on me! In any case, the lie of drop-in compatibility at least I think led some people to look for alternatives that wouldn't be hampered by Oracle-era MySQL.
- leroman 3y agoFor me after trying all the "cool" stuff like mongo etc, seeing the great support Posgres has for JSON just made it an easy choice. Use all the relational stuff but still have nice native support for JSON and useful extensions. What else do I need? Even now, with the addition of vector stores we get PGVector and so it just reinforces my choice over time.
- pcthrowaway 3y agoInteresting thread/post on Heroku's choice to go with Postgres, and speculation that that decision was pivotal in Postgres's rise its status as the relational database of choice for hackers: https://news.ycombinator.com/item?id=31425115 https://news.ycombinator.com/item?id=31425115
- tonfreed 3y agoI always thought it was cool. We used it in uni when the whole world was going nuts over mysql
- z_ 3y agoPostgres has always been cool.
- CRConrad 3y agoI first started noticing that apparently lots of people had begun to find it cool some five or eight years ago... So, given how incredibly hip and well-connected and "with it" I am, presumably at least some five (or perhaps ten) years before that. So ca 2010, maybe just a little earlier?
- BiteCode_dev 3y agoThe point is, it never became cool. It was a good tool, and it still is. There is no marketing, no fluff, no buzz world. It gets the job done. That's what's good about it.
- prewett 3y agoI know I made the decision in 2012 or so. The startup I was working at used Postgres for the server, and I didn't know anything about databases, so, okay, fine, whatever. Then they started an analytics team, which went with MySQL ... and ended up discovering that MySQL only handled up to 3-byte characters of UTF-8, which was a problem since the users of our game Chinese characters and lots of creative abuses of Unicode characters. My takeaway was that UTF-8 has always been at least 4 bytes (and I think it might have required 6 back then, which has since been walked back), and that any database which could not implement the spec of something fundamental like UTF-8 correctly was completely out of the realm of consideration.
- sgarland 3y agoMySQL had utf8mb4 support in 2010, but to be fair it wasn’t the default, and also depending on the row format indexing cols using it wasn’t possible. Like everything with MySQL, there were and are endless gotchas. Once you learn most of them it’s incredibly performant (and ProxySQL in front of it is amazing, and has way more capabilities than just connection pooling), but it’s definitely full of footguns.
- devdude1337 3y agoMy first experience with postgres was around 2009. Picked it out of curiosity and it ended up at the clients server doing it’s job and never bothered anyone. I thought it was very cool doing fancy joins and reliable procedures but then came the NoSQL era and I nearly forgot about it. Then everyone started to realize that any growing database ends up with complicated relations and lots of applications do not fit non-relational data structures well. Suddenly postgres came up with the json and jsonb types. It was like a fairytale. So when did it became cool? Around 2016/2017. Why? Good technical decisions and execution.
- donbale 3y agoFor me it became cool when I realised I could also use it as a vector database with the awesome pgvector extension
- avereveard 3y agoAbout at the transition between oracle 11 and 12, wmvare was quickly becoming the next big thing, and oracle licensing was causing concerns I don't precisely recall with virtual deployments. In conjunction with orm reaching good maturity and postgres starting to catch up with benchmark it was the perfect storm.
- chasil 3y agoIn a license audit, Oracle will charge you a full CPU license (currently $47,500/core for Enterprise) for every CPU in your VMware cluster, regardless if the database is running on it or not. https://blogs.vmware.com/apps/2017/06/oracle-vmware-vsphere-vsan-preparing-oracle-audit.html https://blogs.vmware.com/apps/2017/06/oracle-vmware-vsphere-...
- Tabular-Iceberg 3y agoI don't know when, but I just came back to it after a stint of first MySQL and then MS SQL, and the first feeling I got is that here is a piece of software that seems to be made by people who just want to make my day better.
- z3t4 3y agoPeople like lightweight and simple databases. Maybe it became cool because a lack of development, making all other databases bloated in comparison?
- pmarreck 3y agoIntegrated fulltext search engine! Upgrading is still too much of a pain though
- srj 3y agoI remember bringing a postgresql book to a sleepover when I was in high school around 2002. An IRC friend was on the pgsql advocacy mailing list and we were all obsessed. Now were we cool? I have my doubts. We sure thought pgsql was cool though (still do!)
- killjoywashere 3y agoI've been running postgres since, I think, 2008. Mainly I don't like MSFT in general (although I admit VS Code and WSL are pretty cool). I tried MySQL on my first blog and a couple projects and it just seemed too be a bit to chaotic (how many engines do you need?), then a bit too gross (post acquisition). Some of the guys I work with use MariaDB, but at this point I've met Michael Stonebraker and some hardcore postgres folks and it just feels like the right way. Plus it seems like the cloud vendors tend to support Postgres-like features (e.g. Redshift) so that seems like a hella safe bet.
- thepostman0 3y agoHey, unrelated to DBs, but my view is WSL is boring, seems a VM with mounts, but wine feels much cooler. Interesting view with cloud vendors, there does seem to be a shift from traditional LAMP stack.
- fragmede 3y agoWhere do you see people shifting to?
- HideousKojima 3y agoWSL 1 was cool because it was basically reverse Wine, but yeah WSL2 is basically a wrapper over a VM
- chasil 3y agoWhat you have to understand about WSL is that it relies on one of the three userspaces that the NT/VMS kernel was designed to offer: Win32, POSIX, and OS/2. Cygwin and busybox performance is awful in code that calls fork() often, but I understand that WSL1 behavior is very different, because fork() isn't fighting through layers of Windows. The reason that the POSIX layer exists in NT is that Microsoft was the largest UNIX vendor in the early 80s with their XENIX variant, where the largest market segment ran on the TRS-80 Model 2 (68k-based, 3 simultaneous users, two attached rs-232 terminals). "Broad software compatibility was initially achieved with support for several API "personalities", including Windows API, POSIX, and OS/2 APIs – the latter two were phased out starting with Windows XP." https://en.m.wikipedia.org/wiki/Windows_NT https://en.m.wikipedia.org/wiki/Windows_NT
- kragen 3y agoin 02002–02004 i worked at a startup shipping an on-premises saas network management system (i.e., buy our appliance and install it) built on postgres, after a previous startup using mysql. even then postgres was a perfectly fine database; at the time there wasn't much reason to prefer postgres or mysql over each other unless you were running at massive scale, where even oracle couldn't hold a candle to mysql's readslaves 99% of the time i'm using a sql database it's because i don't care about cool features tho. i mean window functions and json and recursive ctes are definitely cool but my orm isn't gonna use them the startup got bought out a couple years later, so i guess it was successful, but my options were so diluted they weren't worth much the huge difference in my experience was going from no credible gratis sql rdbms in 01993 or so, to msql in 01994 (gratis but far from libre), to mysql in 01996 (gratis but not quite libre) and postgresql (libre!) in the fuzzy period 01996–02000. postgres didn't support sql until 01996 but for reasons i don't remember wasn't really a viable alternative to mysql until about 01999. i don't remember exactly when mysql started offering a real free-software license but i think it was maybe 02000 or 02001; the lawsuit over nusphere's infringement of mysql's gpl was 02002 maybe gumby can weigh in with his experience trying to sell people on an enhanced postgres fork supporting cross-data-center oltp at zembu (eventual-consistency-like multisite performance but without the eventual consistency, which is to say, inconsistency). other founders were ncm and ian (lance) taylor: http://web.archive.org/web/20010617143323/http://www.zembu.com/newsnevents/pressreleases/pr/2001022601.html http://web.archive.org/web/20010617143323/http://www.zembu.c... nowadays i think sqlite is kind of the big competitor; lower write performance, higher read performance (except for very complex queries where its simple execution model is inadequate), and much lower hassle probably all these non-column-store designs are obsolete; i'm curious whether there's a column-based sql database that offers the same degree of hassle-freeness as sqlite or even postgres
- pookah 3y ago[dead]
- water9 3y agoPostgres for a long time was the leader in doing geospatial calculations thanks to postgis. It became popular with the rise of apps like uber and doordash because it had better support for geospatial calculations required to make decisions on how to allocate drivers to users around town and deal with surges.
- vogon_laureate 3y agoI started using PostgreSQL because its clustering and replication was so much better than MySQL at the time.
- tete 3y ago> Postgres wasn't always the cool kid. It didn't emerge from millions of dollars of VC funding Hahaha, a thing that is cool and emerges from millions of dollars of VC funding. Hahahaha
- TheRealPomax 3y agoRight around the time that Oracle went on a buying spree.
- kevstev 3y agoIf you were paying attention, postgres always the better option, based on my experience starting around 2002 or so. MySQL had the better marketing in its name and was arguably a bit easier to get going from the start, but postgres was always more advanced and IMHO once you got past the most basic usage made a lot more sense in how it's configured. The fact that it was the M in the LAMP stack gave it a huge edge too. What was at one point an all day, if not multiday setup and configuration process became a simple install script once LAMP became a thing. MySql was the "default" for a long time until Oracle muddied the waters just enough to make devs look around a bit.
- alberth 3y agoIn the early 2000s, MySQL was: - way easier to install - way easier to maintain (not vacuuming, etc) - and had a replication story. So you had startups which created their MVP on some shared webhost, which had MySQL and nearly non had pg. as those startups graduated into enterprise fame, they never left MySQL but instead fixed its problems along the way.
- bombcar 3y agoMySQL was easy to install and had some notable footguns which you could work around. PostgreSQL was more esoteric and lots of stuff wouldn’t directly support it or would only do so half heartedly. So MySQL took off. But people programming against a database would lean towards pSQL.
- comechao 3y agoYeah, and MySQL was popular among PHP developers, remember LAMP installers?
- andrewf 3y agoIIRC, in the PHP3 / PHP4 days, the only database binding available in out-of-the-box PHP was MySQL.
- 3y ago
- manicennui 3y agoI wish engineers would stop treating technology like fashion. PostgreSQL has been solid for decades. Don't care whether anyone thinks it is "cool".
- bettercallsalad 3y agoOne thing that made me slightly iffy in one of the usecases Postgres would be a no brainer is the need to vacuum for dead tuples. I was quite sketched by it and instead opted for traditional NoSQL stack. I wonder how people with large volumes of UPSERTs deal with vacuuming, isn’t it a huge operational burden?
- johndalton 3y agoFor most folks autovacuum "Just Works", transparently and in the background. For people with large volumes of UPSERTs or similar workloads with lots of activity against existing rows, it may be necessary to tune autovacuum - usually to be more aggressive than the defaults. Aside from figuring out that this is a thing that can be done and then doing it (or paying someone to figure this out for you), there really isn't much operational burden involved. I have seen cases where it made sense to run regularly scheduled vacuums outside of just leaving it all to autovacuum, but in my experience this is rare - when I see someone worrying about vacuums it's usually the case that they should just change an autovacuum knob and then forget about it.
- TOMDM 3y agoCome on man I'm not even 30, I'm way too young to be made to feel old by people saying "traditional NoSQL stack".
- justinclift 3y agoThere are some interesting things in development to potentially solve that problem. Here's a recent HN submission about OrioleDB of the more promising ones: https://news.ycombinator.com/item?id=36740921 https://news.ycombinator.com/item?id=36740921 Source code: https://github.com/orioledb/orioledb https://github.com/orioledb/orioledb
- ZeroCool2u 3y agoJust my 2 cents and I generally agree with the sentiment in the comments about Postgres just being rock solid reliable and having great integrations / vendor neutral. One of the huge benefits I see with Postgres is its extension system. PostGIS is amazing. Can save any company that needs to do heavy geospatial processing $$$ by dodging ESRI. The only database I've found that handles geospatial stuff better is BigQuery, but considering the revolution that was Google Maps over the best decade I don't think that would really surprise anyone.
- whalesalad 3y agoI jumped ship from MySQL/MariaDB around psql 9.6 and haven't looked back.
- whatthesmack 3y agoAn interesting reason I became intrigued with Postgres in the early 2000s was the license it was/is distributed under. The situation involved some work for a customer that needed to distribute an RDBMS along with their software. The customer had more apprehension around the GPLv2-licensed MySQL than the BSD-esque PostgreSQL License [0], so we went with Postgres. I later continued using Postgres in my career after having done quite a variety of benchmarks and came to the conclusion that it, in general, scaled more linearly across additional CPUs than MySQL's InnoDB engine did at the time. [0] PostgreSQL License: https://www.postgresql.org/about/licence/ https://www.postgresql.org/about/licence/
- donpark 3y agoWith me, it was around 5 years ago although first inkling started w/JSON support 8 yrs ago.
- quickthrower2 3y ago:planet: :gun:
- TOMDM 3y agoFor the curious, this is a reference to the "always has been" meme format
- below43 3y ago1998 if i recall correctly...
- StevePerkins 3y agoWhat IS "cool"? It's that moment just before something becomes uncool, lol. Software developers are glorified teenagers. Once something goes from upstart to widely used, developers get bored with it or else frustrated with the issues that arise from actual professional use. Then they go looking for the next fashionable upstart. Oddly, I feel like PostgreSQL is on it's second cycle through this loop now.
- booleanbetrayal 3y agoThe only correct answer to this question is 2012-09-10, the PostgreSQL 9.2 release date. In that release they unveiled JSON datatypes, and developers were able to have their cake and eat it too. https://www.postgresql.org/about/news/postgresql-92-released-1415/ https://www.postgresql.org/about/news/postgresql-92-released... https://wiki.postgresql.org/wiki/What%27s_new_in_PostgreSQL_9.2#JSON_datatype https://wiki.postgresql.org/wiki/What%27s_new_in_PostgreSQL_...
- Klonoar 3y agoArguably it’s really when they did jsonb, but otherwise I actually agree with you.
- lbotos 3y agoIt's funny because I was going to say circa 2012. Working at Linode I definitely saw a shift away from MySQL to Postgres around that time, but I didn't have any over arching reason beyond "it was trendy."
- evanelias 3y agoMySQL added a JSON column type just 3 years later though.
- YeBanKo 3y agoI think CTEs and window functions in version 8 were big, combined with udf you could write some very complicated queries for data analysis without exponentially growing number of joins.
- Fire-Dragon-DoL 3y agoI thought exactly that, when postgres released json support, suddenly it was talked about everywhere
- bastawhiz 3y agoI'll argue that it was Heroku that made Postgres popular. It was easy and simple to get set up, and it pretty much just worked. It was the first time I'd used it, and the first place many of my friends and coworkers had used it. Heroku was "mediatemple for apps built in the 2010s" and Postgres being the default (and really only sql option outside the marketplace) was a huge win for Postgres. Edit: I also think emoji becoming popular was a huge win for Postgres. Emoji didn't work in MySQL because "utf8" wasn't actually UTF-8 and "utf8mb4" made indexes super limited for dumb reasons. As people started realizing this, it hurt MySQL's reputation pretty badly and a lot of folks avoided it for new projects.
- charcircuit 3y agoWhy care that utf8 isn't utfmb4? Just use the defaults and you will get utfmb4.
- antod 3y agoFor some time specifying utf8 got you utf8mb3 rather than uft8mb4. https://dev.mysql.com/doc/refman/8.0/en/charset-unicode-utf8mb3.html https://dev.mysql.com/doc/refman/8.0/en/charset-unicode-utf8...
- bastawhiz 3y ago"utf8" doesn't support four-byte characters from UTF-8. If you use it and instead mean "utf8mb4" (which was historically not the default), data would be silently truncated (with a warning, but who queries for MySQL warnings?) and lead to all sorts of weird production issues. For many years this was the case until "utf8mb4" was made the default in 2017. Which is to say, Unicode was broken by default in MySQL until just over five years ago. The "mb4" stands for "multi byte 4".
- evanelias 3y ago> Which is to say, Unicode was broken by default in MySQL until just over five years ago. No, stock MySQL has never used a default character set of utf8 (utf8mb3). Prior to MySQL 8, the default character set was latin1, not utf8 (utf8m3). "utf8" being utf8mb3 is indeed a huge foot-gun, but it isn't correct to say that "Unicode was broken by default in MySQL". utf8mb4 has been available for use since 2010 (MySQL 5.5). As for silent truncation, that bad default was fixed in 2015 (MySQL 5.7), but the option has been available since like 2004 or 2005. That all said, some Linux distros may apply some non-standard defaults (like changing the default charset), and ditto for cloud DBaaS products (e.g. RDS disables strict sql_mode even today in all versions).
- steve918 3y agoNobody seems to have mentioned the MySQL licensing kerfuffle that got it pulled from most main stream Linux distros. For some of us this was the nail in MySQL coffin at a time when Postgres was becomming easier to manage.
- JohnBooty 3y agoWhen Oracle bought MySQL, developers really started looking hard at Postgres. MySQL developers peeking over the fence at Postgres realized their database lagged way behind Postgres when it came to transactional DDL statements, window functions, basically most modern SQL stuff. MySQL was just sloppy from a developer's perspective... weird nonstandard SQL RDBMS behavior in places. I've heard that MySQL has made nice strides in recent years. Cool, I guess. Not really trying to tie my future to Oracle.
- xxxxxxxx 3y agoI remember back in the day when Ingress was the cool kid (running on HP-UX at our shop I think). Almost overnight there was a fork in the road and everyone went to either Orcale or SQL Server. Now I would touch anything other then Postgres. The more I use and learn about it the more I appreciate all the work that has gone into it over the years.
- stblack 3y agoPostgres became over-the-top cool for me the moment I started to realize what pg-cli could do.
- tete 3y agoI think Heroku played less than a role than it sounds like. Sure, they offered it for Rails, but working with Rails especially back then a typical Rails application made very little use of any of the features. It typically was and to a degree still is tables rather than arrays, application defined integers instead of Postgres Enums, in general very little user defined types, Rail's validation system instead of Postgres constraints (even automatic querying for duplicates). Sure it might have made people hear about Postgres, but I think few people using ORMs really could tell you anything about any of all the amazing features that Postgres has. I think Arrays might be the main one.
- robertlagrant 3y agoI think it's this: a group of well-intentioned, collaborative experts spent 30 years on a project. It doesn't need an expensive website or loads of devrel or non-grassroots event management - those are what you do to simulate success until maybe you make it. It needs smart people over a long period of time.
- rurban 3y agoI would rather say 7.0. With 9.0 it was already established as superior. https://www.postgresql.org/docs/7.0/release.htm https://www.postgresql.org/docs/7.0/release.htm vs https://www.postgresql.org/docs/9.0/release-9-0.html https://www.postgresql.org/docs/9.0/release-9-0.html which added full windows support.
- happytiger 3y ago2003-2005, it started to show stability and solve replication issues that held it back.