MyISAM, InnoDB, and PostgreSQL
sequel.heroku.com
sequel.heroku.com
I'm not certain I understand what you ran in the 'heavy' and 'light' threading tests. Can you provide some more details / explanation?
A good starting point for setting up a database is here: http://www.commandprompt.com/blogs/joshua_drake/2010/03/5_st...
That's a myth. Postgres runs out of the box just as well as MySQL, with no more configuration effort.
A good starting point could be: http://www.revsys.com/writings/postgresql-performance.html
As you can see there is only a very small number of settings that you really should set consciously, just as you have to choose consciously between InnoDB/MyISAM and various baseline settings on MySQL.
Beyond these eight parameters (most of them relate to the amount of RAM you want it to use) postgres ships with reasonable defaults. All the other options may become interesting to tune it later for special workloads (something that you can hardly do with MySQL) but are usually safe to ignore.
http://www.postgresql.org/docs/8.4/static/index.html
If it takes you more than 10 seconds to find "Client authentication" under "Server administration" then do you really think you are qualified to setup a database server?
Sorry if this comes across rude, but criticizing security in postgres in a comparison against MySQL is beyond absurd.
The grant-system in MySQL is a bloody mess. It doesn't even have Roles. And it is prone to "funny" side-effects, such as the dreaded anonymous user issue which afaik is still unfixed in latest stable.
In a nutshell: If you don't remove the two anonymous user grants that mysql puts in there by default then a grant to 'foo'@'%' will allow 'foo' to connect from any host except localhost. Makes sense? Not? Thought so.
Here's why: The connection attempt from localhost is rejected because the default entry ''@'localhost' matches before your 'foo'@'%' entry. So that's what we call admin-centric these days, shipping with mousetraps like that in the default config?
http://dev.mysql.com/doc/refman/5.0/en/connection-access.htm...
Then there's postgres, look how hard it is:
First you specify what users are allowed to connect from where and to which databases (pg_hba.conf). Then you create the actual users (CREATE USER). Finally you grant privileges to them (GRANT). Optionally you can group them under roles.
The common setup that allows local users to connect without a password as any user but demands a password from remote connections takes all of two lines in pg_hba.conf:
# TYPE DATABASE USER CIDR-ADDRESS METHOD
host all all 0.0.0.0/0 md5
local all all trust
Then you can make your users: CREATE USER foo WITH PASSWORD 'secret';
And give them access to stuff: GRANT ... TO foo;
Man that was hard. I'm all exhausted now. But hey, it's right there in the docs. With examples and all. http://www.postgresql.org/docs/8.4/static/auth-pg-hba-conf.h...Real simple. Yeah.