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.
|
| |
|