Sign up for an instant free trial.
Or try a fully functional demo.

Evolution Hosting is a reliable hosting environment designed expressly for Java™ applications. The myEvolution Control Center provides comprehensive management tools, automates system administration chores, and implements best practices.

Evolution Hosting PostgreSQL Database FAQ

  1. What is PostgreSQL?
  2. Where can I find news on PostgreSQL?
  3. Why use PostgreSQL instead of a large commercial database?
  4. Why use PostgreSQL instead of MySQL?
  5. How do I install PostgreSQL on Windows?
  6. How do I convert schema's to PostgerSQL?

What is PostgreSQL?
PostgreSQL (www.postgresql.org) is a complete ANSI-SQL relational database that is available under a BSD-style license. This free/open-source DBMS provides a quick, reliable, transactional datastore, without the license and cost restrictions found in larger commercial DBMS's. Version 7.0 provides the capabilities found in other RDBMS's, including cursors, views, triggers, native functions and object permission levels. It also includes user-defined types, table inheritance, foreign keys, stored procedures, and sophisticated locking. Version 7.1 completes the functionality list to include outer joins, unlimited row lengths, and the Write-ahead Log (WAL) to maintain database consistency in the event of an OS crash.

Where can I find news on PostgreSQL?
Visit the PostgreSQL news site.

Why use PostgreSQL instead of a large commercial database?
There are several ways of measuring software: features, performance, reliability, support, and price.

Features
PostgreSQL has most features present in large commercial DBMS's, like transactions, subselects, triggers, views, foreign key referential integrity, and sophisticated locking. PostgreSQL has many features larger commercial databases 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 data is safely stored on disk. In this mode, PostgreSQL is slower than most commercial databases, partly because few commercial DBMS's, do such conservative flushing to disk in default modes. In PostgreSQL's no-fsync mode, it is usually faster than commercial databases, though in this mode, an OS crash could cause data corruption. PostgreSQL is 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.

PostgreSQL handles 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
A DBMS must be reliable, or it is worthless. PostgreSQL releases well-tested, stable code that has a minimum of bugs. Each release has at least one month of beta testing, and the PostgreSQL release history shows the ability to provide stable, solid releases that are ready for production use. PostgreSQL compares favorably to other database software in this area.

Support
The PostgreSQL mailing list provides a large group of developers and users to help resolve any problems encountered. While they can not 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. (Visit posgresql.org.)

Price
PostgreSQL is free for all use, both commercial and non-commercial. Additionally, customers can add PostgreSQL code to their products with no limitations, except those outlined in the PostgreSQL BSD-style license.

Why use PostgreSQL instead of MySQL?
Currently, the most popular free database in use is MySQL (www.mysql.com) . It's small, easy to configure, and fast. For J2EE Development, however, PostgreSQL has more to offer.

MySQL's transaction implementation and views make it unsuitable for complex usage. MySQL only recently added transaction support and it locks the entire table involved with a transaction. This has major performance/concurrency ramifications. PostgreSQL, on the other hand, has MVCC, which only locks the proper rows of a table (Only Oracle and DB2 have a similiar feature). MySQL is most popular for websites/applications that do not require transaction support.

MySQL isn't as compliant to ANSI SQL standards as PostgreSQL.

Benchmarks between PostgreSQL and MySQL show that MySQL has good performance compared to PostgreSQL when looking at non-transactional updates. PostgreSQL, however, can handle heavier loads than MySQL, and is more stable under larger numbers of concurrent connections than MySQL. The latest beta version of MySQL does provide transaction support using the Berkley DB layer. However, testing MySQL against PostgreSQL using transactions shows that PostgreSQL runs faster than MySQL.

PostgreSQL provides a better mechanism to increase performance of SQL queries than MySQL, and also provides more data-types than any other database on the market. Additionally, there are utilities that are in the works to provide hot-backups and clustering ability to PostgreSQL.

Both RDBMS systems are free and easy to use, with MySQL under the GPL license, and PostgreSQL under a BSD-style license. PostgreSQL setup is a bit more complicated due to its additional functionality. This complexity is reduced by packages available to install PostgreSQL rather than building from source.

In short, when one is looking for a complete, reliable, open-source RDBMS, PostgreSQL provides the most features, especially around transactions, that J2EE systems require.

For more information on PostgreSQL Vs. MySQL, explore these links: openacs and php.

How do I install PostgreSQL on Windows?
Read the Evolution Hosting PostgreSQL Windows Setup FAQ.

How do I convert schema's to PostgerSQL?

Here is a guide for porting Oracle schema's to PostgreSQL (porting), and specifically for (PL/SQL).

Terms | Privacy | Copyright Home | Sign Up | Products | Services | Contact Support | Manual | Webmail | Login