On 08/18/2009 11:46 AM, Larry Brigman wrote:
I have a server running several applications. They typically have
the
best support for mysql.
Is there a hard reason for postgresql-server over mysql for koji?
It hasn't been a priority to support multiple dbs. Postgres was chosen
because we placed a high value on data integrity.
The tables in Koji use a lot of 'serial' fields (integer fields linked
to a sequence). In MySQL, the analog of this is an AUTO_INCREMENT field.
It does not appear that this is a perfect analog. In any case, there
would have to be a number of code changes due to this.
If one were to use MySQL, they would most definitely want to use InnoDB
tables, because Koji makes use of many foreign key constraints.
Almost every table in Koji's schema has a CHECK clause somewhere in it.
MySQL parses these, but /does not enforce them/. The types of data
corruption that would result from entries that violate these checks
would be quite insidious.
I also expect there would be a number of subtle issues due to other
behavior differences between the databases. With MySQL's reputation for
quietly rolling along despite serious errors, you might not notice until
the db was full of corruptions.
So short answer: non-trivial amount of work to implement, even more for
proper testing, questionable return for that effort.
Running a Koji server is not intended to be lightweight. I don't think
the postgres requirement is unreasonable.