3 ms·
"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 i
by 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.