[HN Gopher] When did Postgres become cool?
___________________________________________________________________
When did Postgres become cool?
Author : fforflo
Score : 101 points
Date : 2023-08-09 17:54 UTC (5 hours ago)
(HTM) web link (www.crunchydata.com)
(TXT) w3m dump (www.crunchydata.com)
| pcthrowaway wrote:
| Interesting 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
| [deleted]
| avereveard wrote:
| About 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.
| srj wrote:
| I 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!)
| leroman wrote:
| For 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.
| fcatalan wrote:
| I 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 wrote:
| Running Postgres in production since 2017. Some trivia
| required, but nothing like priest knowledge needed for MySQL.
|
| I love not having to be trivia king.
| sitzkrieg wrote:
| a wonderful side effect of well made software
| devdude1337 wrote:
| My 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.
| 0xbadcafebee wrote:
| Postgres _was_ cool. Now SQLite is cool. In a few years .INI
| files will be cool. Fads gonna fad.
| lolive wrote:
| Parquet+S3 ;)
| bloudermilk wrote:
| When 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.
| mrj wrote:
| As 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 wrote:
| Coolness is not evenly distributed :-) Even banks now have
| Postgres, it doesn't hurt that Oracle is such a nightmare to
| deal with..
| wonks wrote:
| It surely was the "I'm so cool you don't even know I'm cool"
| kind of cool.
| Tabular-Iceberg wrote:
| I 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.
| killjoywashere wrote:
| I'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 to 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 wrote:
| Hey, 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 wrote:
| Where do you see people shifting to?
| z3t4 wrote:
| People like lightweight and simple databases. Maybe it became
| cool because a lack of development, making all other databases
| bloated in comparison?
| jghn wrote:
| I 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 wrote:
| Postgres 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 wrote:
| I 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.
| etchalon wrote:
| Was it that Postgres became cool or that MySQL became unreliable
| post-Oracle and developers were looking for an alternative?
| gtowey wrote:
| Developers 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.
| xnx wrote:
| Postgres became cool when the scales fell off peoples eyes and
| they realized that very few use cases necessitate or even benefit
| from "NoSQL" databases.
| nemo44x wrote:
| NoSQL is as popular as it has ever been though. Many of those
| most popular NoSQL DBs have outgrown the general database
| market for a decade and it doesn't look to be slowing down.
|
| Saying that, SQL databases are still the king by a wide margin.
| Postgres has grown more at other SQL DBs expense than anything.
| thewix wrote:
| You get JSON types with postgres. If you aren't sharing data
| between tables then json is fine
| nomel wrote:
| You get JSONB with postgres, which, to me, is a significant
| difference. This means you can indexing by key/value, access
| keys directly, without parsing the whole json string, etc.
|
| For my use case, JSONB support completely killed most NoSQL
| solutions.
| dymk wrote:
| It was way before that - it was when people got fed up with the
| string handling and implicit type casting stupidity of MySQL
| pixl97 wrote:
| I think a large amount of mysql was based on PHP applications
| with default mysql support.
| fjfuvucucuc wrote:
| [dead]
| weinzierl wrote:
| This 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).
| code_runner wrote:
| I came from a MSSQL background and eventually worked on an
| MySQL project with somebody who had a TON of MySQL
| experience by way of symfony.
|
| I was explaining that not all of his non-aggregated columns
| were in his group by, so his query wasn't going to work....
| but what do you know, MySQL will just return whatever it
| feels like from the group in that situation. I expected it
| not to run at all.
|
| I think there are some flags etc you can use to enable to
| stricter behavior but it was one of the wildest footguns
| I've ever seen.
| ASalazarMX wrote:
| The last straw was when Oracle bought MySQL, and it was
| forked to MariaSQL. Postgres went from the nerdy awkward
| kid to the nerdy cool kid, while MySQL started drinking,
| getting split personalities, and living off his past fame.
| chx wrote:
| I think even Sun buying MySQL already hurt MySQL and
| helped PostgreSQL.
|
| Back in 2006, the startup I was with moved from
| PostgreSQL to MySQL because the support we were able to
| find was both expensive (300 USD/hr) and not
| satisfactory. Back then MySQL AB (this was before Sun)
| gave us a 10K two year deal on three servers and they had
| excellent response times and knowledgeable support.
|
| For PostgreSQL the year 2010 when Salesforce bought
| Heroku (big plus) and Oracle bought MySQL (big minus for
| MySQL so indirect big plus to PostgreSQL) was the
| breakthrough, I would say.
|
| That MySQL didn't get CTE and window functions until 2018
| is a sad joke.
| CRConrad wrote:
| > MariaSQL
|
| MariaDB.
| hashtag-til wrote:
| The "new" name never really stick...
| paulddraper wrote:
| > MySQL was known for fast and Postgres for features and
| correctness
|
| That's still the case.
|
| In particular, MySQL is faster for updates (no MVCC), but
| that comes at a cost that I would be hesitant to pay.
| pessimizer wrote:
| I 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.
| weare138 wrote:
| I think all the drama with Oracle acquiring MySQL may have
| contributed to the situation too.
| Avshalom wrote:
| It 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.
| throw1234651234 wrote:
| ~5 years ago in the midwest.
| tonfreed wrote:
| I always thought it was cool. We used it in uni when the whole
| world was going nuts over mysql
| justinclift wrote:
| > the first Postgres company Great Bridge.
|
| That doesn't seem correct. Wasn't PostgreSQL Inc. the first
| PostgreSQL company?
| z_ wrote:
| Postgres has always been cool.
| Zandikar wrote:
| > 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"?
| stavros wrote:
| Postgres has been cool since the early 2000s. SQLite is even
| cooler.
| convolvatron wrote:
| idk. 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 wrote:
| You'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.
| kragen wrote:
| in 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.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
| tmaly wrote:
| I have been using Postgres since version 6.x and I thought it was
| cool back then.
| nottorp wrote:
| Hmm for me when Oracle bought MySQL.
| danielovichdk wrote:
| Yes.
|
| Strange how people seems to have forgotten that.
| CRConrad wrote:
| I 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?
| kneebonian wrote:
| Since the second someone found a reasonable enterprise
| alternative to the proctology practice that is Oracle.
| mschuster91 wrote:
| Oracle fucks you in pricing, PostgreSQL in the effort required
| to pull off a minor version upgrade.
| justinclift wrote:
| What'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 wrote:
| Ah, 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
| justinclift wrote:
| For Docker usage you'll probably be better off with the
| "automatic upgrade" images instead:
|
| 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.
| teddyh wrote:
| I 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.
| frodowtf wrote:
| why?
| teddyh wrote:
| The project did not need to be particularly fast, which was
| the only touted advantage which MySQL had at the time. In all
| other respects, PostgreSQL was the clear winner. (I edited my
| original post to be more clear.)
| throwaway71271 wrote:
| i 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 wrote:
| curious - 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.
| BiteCode_dev wrote:
| The 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.
| donbale wrote:
| For me it became cool when I realised I could also use it as a
| vector database with the awesome pgvector extension
| adrianmsmith wrote:
| I 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.
| plaur782 wrote:
| Josh 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-p...
| Daviey wrote:
| I think a version of the same talk was done at FOSDEM that
| year, and I remember it being very interesting!
| genman wrote:
| For me about 2001 or 2002, I think. It never became uncool since.
| brimstedt wrote:
| I 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 wrote:
| My 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.
| pmarreck wrote:
| Integrated fulltext search engine!
|
| Upgrading is still too much of a pain though
| nologic01 wrote:
| When 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? :-)
| sdsd wrote:
| When 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
| evanelias wrote:
| MariaDB 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 wrote:
| Aha, 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.
| duozerk wrote:
| I didn't either until it bit me in the ass a few months
| back - often it's shitty proprietary software being only
| compatible with "genuine" (oracle) MySQL.
| evanelias wrote:
| To be fair to vendors, it's increasingly difficult to
| maintain compatibility with both! Here's my very long
| rundown of the differences in tables/DDL alone:
| https://www.skeema.io/blog/2023/05/10/mysql-vs-mariadb-
| schem...
|
| ...and that doesn't even account for differences in
| global variables/configuration, SQL syntax, functions,
| replication, etc.
| duozerk wrote:
| This is very informative, thank you.
| gtowey wrote:
| This 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.
| water9 wrote:
| Postgres 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.
| tracerbulletx wrote:
| When 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 wrote:
| I'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 wrote:
| Second this, I'd say started being common for Web apps in 2008
| and "industry standard" by 2012 in the SF Bay Area.
| craigkerstiens wrote:
| I 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 wrote:
| ~2011 I remember people religiously recommending postgres over
| mysql. ~2009 it seemed the go to db was still mysql.
| pessimizer wrote:
| Oracle bought Sun in 2010.
| toolz wrote:
| Started 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.
| pookah wrote:
| [dead]
| prewett wrote:
| I 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 wrote:
| MySQL 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 looking), but it's definitely
| full of footguns.
___________________________________________________________________
(page generated 2023-08-09 23:01 UTC)