Subject: Advantages page out of date

From: Josh Kupershmidt <[email-masked]>
Date: Thu, 17 May 2012 11:48:40 -0700

Hi all,

The 'Advantages' page at:
  http://www.postgresql.org/about/advantages/

seems a bit out of date -- looks like it was last touched around
9/2009. For example, one of the list items under "Technical Features"
claims:

|  <li>Hot stand-by (commercial solutions).</li>

i.e. it predates hot standby in-core. I think that list could be
fleshed out substantially with all the 9.x features, though on the
other hand it seems unwieldy to try stuffing too much in there.
Perhaps that page should just link to the Feature Matrix instead of
keeping its own Technical Features list?

Josh

---

From: Joshua Berkus <[email-masked]>
Date: Fri, 18 May 2012 14:33:18 -0500 (CDT)

No question.  It's not remotely the only page which is horribly out of date, either.

Think you could write up replacement text for the page?

----- Original Message -----
> --
> Sent via pgsql-www mailing list ([email-masked])
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-www
>

---

From: Josh Kupershmidt <[email-masked]>
Date: Fri, 18 May 2012 16:17:58 -0700

> Think you could write up replacement text for the page?

Sure. A quick fix (patch: advantages_quickfix.diff) would be to remove
just that line, and leave Hot stand-by covered by the entry for
'Replication'.

I think a better solution (patch: advantages_link_matrix.diff) would
be to simply link the user to the Feature Matrix, instead of trying to
summarize some arbitrary subset of those features under Technical
Features.

If we did want to keep something like the Technical Features section
around, I think its scope should be narrowed down to features which
are rare, nonexistent, or limited in our competitors. Support for
Unicode, sub-selects, views, etc. may have been cutting-edge features
back when that page was written, but is not such a draw these days.
Things like SP-GiST, KNN, per-transaction durability control, SSI,
SE-Postgres, transactional DDL, JSON and Range types, etc. along with
a summary of why they're better than our competitor implementations
would make for an interesting read IMO. But this kind of prose seems
like it'd be better suited for the wiki anyway... there's not already
a page like that, other than the comparisons against MySQL, is there?
I'd be happy to help start a page like that.

Josh
diff --git a/templates/pages/about/advantages.html b/templates/pages/about/advantages.html
new file mode 100644
index 30d32a6..1ba31c6
*** a/templates/pages/about/advantages.html
--- b/templates/pages/about/advantages.html
***************
*** 49,55 ****
  <li>Fully ACID compliant.</li>
  <li>ANSI SQL compliant.</li>
  <li>Referential Integrity.</li>
! <li>Replication (non-commercial and commercial solutions) allowing the duplication of the master database to multiple slave machines.</li>
  <li>Native interfaces for ODBC, JDBC, .Net, C, C++, PHP,  Perl, TCL,  ECPG, Python, and Ruby.</li>
  <li>Rules.</li>
  <li>Views.</li>
--- 49,55 ----
  <li>Fully ACID compliant.</li>
  <li>ANSI SQL compliant.</li>
  <li>Referential Integrity.</li>
! <li>Replication (built-in and third-party solutions) allowing the duplication of the master database to multiple slave machines.</li>
  <li>Native interfaces for ODBC, JDBC, .Net, C, C++, PHP,  Perl, TCL,  ECPG, Python, and Ruby.</li>
  <li>Rules.</li>
  <li>Views.</li>
***************
*** 63,69 ****
  <li>Stored Procedures.</li>
  <li>Native SSL support.</li>
  <li>Procedural languages.</li>
- <li>Hot stand-by (commercial solutions).</li>
  <li>Better than row-level locking.</li>
  <li>Functional and Partial indexes.</li>
  <li>Native Kerberos authentication.</li>
--- 63,68 ----
diff --git a/templates/pages/about/advantages.html b/templates/pages/about/advantages.html
new file mode 100644
index 30d32a6..18b28a8
*** a/templates/pages/about/advantages.html
--- b/templates/pages/about/advantages.html
***************
*** 45,77 ****
  
  <a name="features"></a>
  <h2>Technical Features</h2>
! <ul>
! <li>Fully ACID compliant.</li>
! <li>ANSI SQL compliant.</li>
! <li>Referential Integrity.</li>
! <li>Replication (non-commercial and commercial solutions) allowing the duplication of the master database to multiple slave machines.</li>
! <li>Native interfaces for ODBC, JDBC, .Net, C, C++, PHP,  Perl, TCL,  ECPG, Python, and Ruby.</li>
! <li>Rules.</li>
! <li>Views.</li>
! <li>Triggers.</li>
! <li>Unicode.</li>
! <li>Sequences.</li>
! <li>Inheritance.</li>
! <li>Outer Joins.</li>
! <li>Sub-selects.</li>
! <li>An open API.</li>
! <li>Stored Procedures.</li>
! <li>Native SSL support.</li>
! <li>Procedural languages.</li>
! <li>Hot stand-by (commercial solutions).</li>
! <li>Better than row-level locking.</li>
! <li>Functional and Partial indexes.</li>
! <li>Native Kerberos authentication.</li>
! <li>Support for UNION, UNION ALL and EXCEPT queries.</li>
! <li>Loadable extensions offering SHA1, MD5, XML, and other functionality.</li>
! <li>Tools for generating portable SQL to share with other SQL-compliant systems.</li>
! <li>Extensible data type system providing for custom, user-defined datatypes and rapid development of new datatypes.</li>
! <li>Cross-database compatibility functions for easing the transition from other, less SQL-compliant RDBMS.</li>
! </ul>
  {%endblock%}
  
--- 45,52 ----
  
  <a name="features"></a>
  <h2>Technical Features</h2>
! <p>Please see the <a href="/about/featurematrix/">Feature Matrix</a> for a summary of PostgreSQL's features.
! </p>
! 
  {%endblock%}

---

From: Magnus Hagander <[email-masked]>
Date: Sun, 27 May 2012 11:12:17 +0200

On Saturday, May 19, 2012, Josh Kupershmidt wrote:

> On 5/18/12, Joshua Berkus <[email-masked] <javascript:;>> wrote:
> > No question.  It's not remotely the only page which is horribly out of
> date,
> > either.
> >

I think this is definitely the best idea for now, so I've applied this
version of the patch.

> I'd be happy to help start a page like that.

Yeah, I think that might be better suited on the wiki. At least, that's a
good place to start.

Perhaps a future development could be a version of the feature matrix that
instead of having postgresql versions on the "x axis", it would instead
have typical competitors.

Could be combined with the rumored feature I was once working on that would
let you dynamically pick which columns would show up in the feature matrix,
to customize your own comparisons between the versions you are actually
interested in :)

-- 
 Magnus Hagander
 Me: http://www.hagander.net/
 Work: http://www.redpill-linpro.com/