Init Page Products Downloads Ordering Support Vita Voom Software
Init Page
Products
Downloads
The Company
Ordering
Support/Contact
About PostgreSQL
PostgreSQL Logo

Why using PostgreSQL ? PostgreSQL is the most advanced open source database tool. It has been used and proved for years.

Check the latest PostgreSQL docs in our mirror.

Advantages of PostgreSQL


This is a brief list of PostgreSQL's advantages.

Features

PostgreSQL has most features present in large commercial DBMS's, like transactions, subselects, triggers, views, foreign key referential integrity, and sophisticated locking. It has also have some features they don't have, like user-defined types, inheritance, rules, and multi-version concurrency control to reduce lock contention.


Performance

PostgreSQL runs in two modes. Normal fsync mode flushes every completed transaction to disk, guaranteeing that if the OS crashes or loses power in the next few seconds, all your data is safely stored on disk. In this mode, we are slower than most commercial databases, partly because few of them do such conservative flushing to disk in their default modes. In no-fsync mode, we are usually faster than commercial databases, though in this mode, an OS crash could cause data corruption. We are working to provide an intermediate mode that suffers less performance overhead than full fsync mode, and will allow data integrity within 30 seconds of an OS crash.In comparison to MySQL or leaner database systems, we are slower on inserts/updates because we have transaction overhead. Of course, MySQL doesn't have any of the features mentioned in the Features section above. We are built for flexibility and features, though we continue to improve performance through profiling and source code analysis. There is an interesting Web page comparing PostgreSQL to MySQL at http://openacs.org/why-not-mysql.html

We handle each user connection by creating a Unix process. Backend processes share data buffers and locking information. With multiple CPU's, multiple backends can easily run on different CPU's.


Reliability

The PostgreSQL Team realize that a DBMS must be reliable, or it is worthless. It strives to release well-tested, stable code that has a minimum of bugs. Each release has at least one month of beta testing, and the release history shows that it can provide stable, solid releases that are ready for production use. It believes it compares favorably to other database software in this area.


Support

PostgreSQL's mailing list provides a large group of developers and users to help resolve any problems encountered. While them cannot guarantee a fix, commercial DBMS's don't always supply a fix either. Direct access to developers, the user community, manuals, and the source code often make PostgreSQL support superior to other DBMS's. There is commercial per-incident support available for those who need it. We suggest DBExperts.

Price

PostgreSQL is free for all use, both commercial and non-commercial. You can add our code to your product with no limitations, except those outlined in our BSD-style license stated above.

OBS: This list was originally extracted from the PostgreSQL FAQ and modified by Vita Voom.)

Comparision with other databases:


This is a list compiled by Vita Voom which reflects its own research about the databases in subject and that can change as databases are developed. If you notice some inconsistence on this list, please let us know so we can update it.
The PostgreSQL server used for comparision is v7.2.

PostgreSQL vs MySQL
PostgreSQL...
  • ... is faster and more efficient then MySQL according to this article (quick results here) by Tim Perdue, a respected community member, which runs SourceForge (one of the sites with most traffic on the net). And PostgreSQL has got much better since then.
  • ... supports transactions (but it seems that newer versions of MySQL finally supports them. The transactions system was "borrowed" from Berkely DB).
  • ... has views.
  • ... supports unlimited row sizes, unlimited datasebase sizes, tables up to 16TB (!!)
  • ... has a flexible (not fixed) types system, and supports more types then MySQL. You can always add your own types at your wish, or change existent types behavior. PostgreSQL even has geometrical and IPv4 types support (!!).
  • ... supports inheritance.
  • ... supports foreign keys.
  • ... supports unicode.
  • ... has a much more sofisticated locking mechanism (MVCC).
  • ... is resistant to crashes and power failures (by using it's logging system, MVCC and chepoint)). Although it is technically possible that a database gets corrupt, we at Vita voom never saw it (except for corrupt media storage of course).
  • ... supports functions (whose can be used as stored procedures). These functions current can be written on SQL, pl/PgSQL (a language similar to Oracle's pl/SQL), TCL, Perl, and Python, C, C++ (or other compiled languages) but it's not limited to them.
  • ... can have functions to define default values for columns (providing ultimate default value flexibility).
  • ... has full referential integrity support.
  • ... supports much more arrays types then MySQL.
  • ... supports outer joins and much more complex multijoins then MySQL.
  • ... supports triggers and rules.
  • ... supports "fetch" SQL command to get only a limited number of rows at a time, making queries more responsive and resource economic.
  • ... has regular expressions support (for searches and operations).
  • ... has a 'EXPLAIN' command which will show will how it will perform a query, so that you optimize it.
  • ... has statistics about database usage which can be used to optimize queries and indices.
  • ... has sequences.
  • ... has arbitrary precision numeric fileds (numeric type).
  • ... has more built-in functions then MySQL (or any other open source RDBMS).
  • ... supports indexes on functions.
  • ... supports subqueries.
  • ... has a more flexible BLOB fields support.
  • ... can limit the number of rows retrieved at at time (with the 'LIMIT' keyword).
  • ... supports notifies (a mechanism which will notify a listener application that an event has happened to the database).
  • ... has a stable communication protocol that is backwards compatible. If you ever tried to used a 'libmysql' with a wrong MySQL server, you know what wemean...
  • ... is more standards-compliant then MySQL.
  • ... allows re-using of space without needing to "pack" (vacuum) it's internal tables (since version 7.2).
  • ... can be transtaled (new in 7.2).
  • ... has more authentication systems then MySQL (such as ident or kerberus).
  • ... has a command-line management tool that includes help for it's commands. This can save a great amount of time when dealing with commands.
  • ... has better, larger and more complete documentation.
  • ... is avaiable on more systems then MySQL.
  • ... has a more flexible license then MySQL (BSD against GPL).
  • ... is not owned by any company: it's developed by the community. This means PostgreSQL future is defined and safe. A database developed by a company is subject of situations that happen to that company, like being purchased by another company, dropping development and/or support, and other issues.
  • ... is a RDMBS that has grown alone, instead of MySQL which is a hack of several tools "glued" together (MSQL, Berkeley DB). This lead to weird things like ISAM, MYISAM, BerkeleyDB, InnoDB, HEAP, MERGE, and Gemini table types (!?!) and other hybrid designs on MySQL's core..
  • ... has built in support for encrypted SSL connections.
 
PostgreSQL vs Interbase
PostgreSQL...
  • ... is FREE !!!! (only Interbase 6.0 is free. Interbase 6.5 is commercial). This is reason enough to drop Interbase, we believe, unless you want to keep version 6.0, which is obsoleted by new version 6.5.
  • ... has no "dialects" or other weird features.
  • ... has no "backdoors" which can compromise your whole company's security and business (check here and here).
  • ... supports unlimited row sizes, unlimited datasebase sizes, tables up to 16TB (!!), unlimited number of rows, unlimited indexes for table and 1Gb per field.
  • ... has a boolean field.
  • ... can cancel a query asynchronously (Interbase 6.5 - the commercial version - seems to support it now).
  • ... has a flexible (not fixed) types system, and supports more types then Interbase. You can always add your own types at your wish, or change existent types behavior. PostgreSQL even has geometrical and IPv4 types support (!!).
  • ... supports inheritance.
  • .. supports flexible full text indexing through OpenFTS.
  • ... has a much more sofisticated locking mechanism (MVCC).
  • ... has arbitrary precision numeric fileds (numeric type).
  • ... is resistant to crashes and power failures (by using it's logging system, MVCC and chepoint)). Although it is technically possible that a database gets corrupt, we at Vita voom never saw it (except for corrupt media storage of course).
  • ... supports functions (whose can be used as stored procedures). These functions current can be written on SQL, pl/PgSQL (a language similar to Oracle's pl/SQL), TCL, Perl, and Python, C, C++ (or other compiled languages) but it's not limited to them.
  • ... can have functions to define default values for columns (providing ultimate default value flexibility).
  • ... supports much more arrays types then Interbase, they are more flexible and can support much more elements.
  • ... supports rules.
  • ... supports "fetch" SQL command to get only a limited number of rows at a time, making queries more responsive and resource economic.
  • ... has regular expressions support (for searches and operations).
  • ... has a 'EXPLAIN' command which will show will how it will perform a query, so that you optimize it.
  • ... has statistics about database usage which can be used to optimize queries and indices.
  • ... has sequences.
  • ... has more built-in functions then Interbase (or any other open source RDBMS).
  • ... supports indexes on functions.
  • ... has broader subselects support then Interbase.
  • ... has a more flexible BLOB fields support.
  • ... can limit the number of rows retrieved at at time (with the 'LIMIT' keyword).
  • ... is more standards-compliant then Interbase.
  • ... allows re-using of space without needing to "pack" (vacuum) it's internal tables (since version 7.2).
  • ... can be transtaled (new in 7.2).
  • ... has more authentication systems then Interbase (such as ident or kerberus).
  • ... has a command-line management tool that includes help for it's commands. This can save a great amount of time when dealing with commands.
  • ... has better, larger and more complete documentation. Interbase 6.0 (the free version) only has beta documentation for ages.
  • ... is avaiable on away more systems then Interbase (6.0) and even more then Interbase 6.5 which is limited to the binaries distributions.
  • ... has a more flexible license then Interbase (BSD against a variant of MPL or BSD against a commercial license).
  • ... is not owned by any company: it's developed by the community. This means PostgreSQL future is defined and safe. A database developed by a company is subject of situations that happen to that company, like being purchased by another company, dropping development and/or support, and other issues. Interbase development could be ceased at any moment. Interbase 6.0 (the free version) development has 3 forks now (Borland's commercial version of v6.0, Borland's free version of v6.0 and Firebird).
  • ... has built in support for encrypted SSL connections.
 
PostgreSQL vs Oracle
Allright, Oracle is indeed the best, most featured and scalable database on the market. But Oracle's licensing fees are simply absurdly expensive, as everyone knows. If you have the money - go for Oracle. If not - PostgreSQL is your choice. Anyway, let's go to the list... :)

PostgreSQL...
  • ... is FREE !!!! This is reason enough we believe.
  • ... has no complicated and burocratic licensing schemes (paying for the server, per connections, for "power units", etc. Did you ever consider licensing Oracle?)
  • ... has a flexible (not fixed) types system. You can always add your own types at your wish, or change existent types behavior. PostgreSQL even has geometrical and IPv4 types support (!!).
  • ... supports inheritance.
  • ... supports functions (whose can be used as stored procedures), and them currently can be written on SQL, pl/PgSQL (a language similar to Oracle's pl/SQL), TCL, Perl, and Python, C, C++ (or other compiled languages) but it's not limited to them.
  • ... supports flexible full text indexing through OpenFTS.
  • ... can be transtaled (new in 7.2).
  • ... comes with full source code. You can change anything you want at any time.
  • ... is not owned by any company: it's developed by the community. This means PostgreSQL future is defined and safe. A database developed by a company is subject of situations that happen to that company, like being purchased by another company, dropping development and/or support, and other issues. Oracle development could be ceased or change at any moment.
  • ... has built in support for encrypted SSL connections.
 
 

Copyright © 2001-2006 Vita Voom