5 ms·
As someone who bet his startup in 2000 on Postgres (with little experience at the time) and registered on HN just to praise Tom Lane for being exceptionally hel
by lazyjones 6y ago
As someone who bet his startup in 2000 on Postgres (with little experience at the time) and registered on HN just to praise Tom Lane for being exceptionally helpful and forthcoming on the mailing lists, I enjoyed this but don't think it's very relevant to Postgres' success in the past 20-odd years - that was entirely due to a few good people who had the right priorities and made good decisions without drama and without being overly opinionated. A very notable exception in the world of open source...
- irjustin 6y ago> without being overly opinionated My take is Postgres is extremely opinionated, but in such a way that it is beneficial for the long run. PG adheres to the SQL standard far stricter than MySQL (i.e. select w/o order, ACID). From 2000-2010, it severely slowed the progress of features compared to MySQL (clustering was big topic for a while). But the problems of hacks, speed and probably a significant one, management/owners, caught up with MySQL. Feels like tortoise & the hare.
- jeffdavis 6y ago"Postgres is extremely opinionated" When I think of the term "opinionated" as it applies to software platforms, I think of things that have intended purposes in mind and optimize for the ease of those use cases, potentially to the detriment of people doing other things. It also suggests a "one way to do it" approach. If that is the definition, I don't think Postgres fits. Postgres tries pretty hard to meet users where they are, and tackle uncommon or emerging use cases. Examples include JSON support, support for writing functions in various languages (javascript, python, perl, R, etc.), and C extensions that can hack the engine in innumerable ways.
- chousuke 6y agoI don't think "opinionated" in the context of a database system means refusing to implement useful features. When I think of unopinionated software, I think of software like Jenkins; it feels like a plugin glue framework that does barely anything useful out-of-the-box and leaves it up to the user to create a working configuration out of the tons of plugins available. Aside from being immediately useful just as a basic relational data store, my impression of PostgreSQL is that the "opinion" is apparent in the way that new things get done. There seems to be a culture of either implementing things well or not at all, and to avoid rushing things just because people want the new feature right now.
- irjustin 6y agoHrm, I can't disagree with you because I do side with the "suggests a one way to do it" approach. Could be I misinterpreted the OP's statement: > few good people who had the right priorities and made good decisions without drama and without being overly opinionated I attached the "opinionated" to the people as opposed to the software probably because of the way the sentence was structured. Perhaps we're all agreeing and saying the same thing.
- rpedela 6y agoThe PG dev community puts data correctness above all else. It is a good, strong opinion to have for database software but it does slow down feature development. The most requested feature for years was UPSERT but it wasn't implemented until 9.4 because they couldn't figure out how to do it without any gotchas until then.