Re: PostgreSQL or MySQL ?



In article <46538721.7090404@xxxxxxxxxxxxx>, =?ISO-8859-1?Q?Nis_J=F8rgensen?= <nis@xxxxxxxxxxxxx> wrote:
jag skrev:
Hiya,

I'm planning to build an enterprise-level php web app which will be
used to manage a large amount of users and which will get a lot of
hits.

so, which database setup should i use?

got 2 choices,

PostgreSQL or MySQL

have used MySQL before but heard good stuff about PostgreSQL.

I have used both. Love Postgres. Hate MySQL.

People may tell you that Mysql has better performance. I believe a lot
of this comes from people doing single-table selects or simple joins
from ISAM tables. I have often been writing queries in Postgres that I
could never have done in MySQL - so when I was using MySQL, I would have
to code them procedurally on the webserver.

The documentation for Postgres is excellent. They have separate copies
online for the different versions, and clearly indicate the changes and
any deviations from the SQL standards.

The documentation for MySQL covers all versions at once. This means you
cannot just look at the syntax diagrams and assume that they apply to
the version you are running.

Postgres supports transactions, subselects, foreign keys, constraints,
updatable views (via RULES or TRIGGERS) and stored procedures/functions
in several languages - all in the standard configuration.

MySQL ... may support some of these out of the box, and most of them
with a little tweaking. Often they are implemented with gotcha's - "you
can't use a subselect there", "foreign keys only work with INNODB
tables" etc.

Postgres gives you meaningful error messages most of the time. MySQL
mostly just says "You have an error in your SQL syntax;"

And, IMNSHO, if you don't have time/money for a trained DBA - Postgres
beats Oracle as well, when it comes to maintenance AND performance.
Simply because it works out of the box, and the documentation is easy to
read and follow.

Enough evangelism, have a nice day

Nis

I agree with Nis. Both will work. I prefer Postgres for the same reasons as
Nis. One thing he didn't mention is that Postgres is much closer to the SQL
standard. The MySQL license is said to be more restrictive, but I have not
looked at it personally.

Eric
.



Relevant Pages

  • Re: Update nur bei neustem Eintrag
    ... Wie es in MySQL machbar ist, ... Wenn es sich nur um einen einzelnen Wert handelt, kann man das prima über ein SET machen, ansonsten muss man mit einer temporären Tabelle arbeiten. ... The following restrictions apply for Intermediate SQL: ... Lies doch einfach mal ein Buch zum Relationalen Model oder Standard SQL. ...
    (de.comp.datenbanken.mysql)
  • Re: dupe times in Time::HiRes - problem in DBI or DBD::MySQL or MySQL or the SQL Standard.
    ... other developer on the project changed the column type in MySQL to text. ... statement - and compliant SQL DBMS therefore do so too. ... Counter-intuitively, those two records will both share the same time stamp - because at some higher level the user invoked the stored procedure as a single SQL statement, and during the execution of that single statement, time is frozen. ... You may be finding that MySQL is just doing what the standard says it should do. ...
    (comp.lang.perl.modules)
  • Re: Problem with Set MyRst = MyDB.OpenRecordset(PString, dbOpenForwardOnly)
    ... but I've already verified that the SQL ... MySQL = MySQL & "FROM tblVehicleJobs INNER JOIN tblAddnlOwnrs ON ... vbNewLine ... MySQL = MySQL & "FROM tblVehicleJobs INNER JOIN tblLienHolders ON ...
    (comp.databases.ms-access)
  • Re: Update nur bei neustem Eintrag
    ... schon mal gar nicht erlaubt ist, die Tabelle in der Subquery ... Wie es in MySQL machbar ist, ... Das ist _nicht_ das offizielle MySQL-Handbuch. ... Date) oder Standard SQL. ...
    (de.comp.datenbanken.mysql)
  • Re: Choosing an office suite
    ... Can you refer a site where I can download SQL with its tutorial/guide? ...  MySQL and Postgres are probably the easiest to come by, in that mySQL is available in a free edition. ... SQLite and Firebird are worth a look too. ... I'd say to start with MySQL ...
    (comp.lang.ruby)