pls. apologize. Maybe my description was not so clear. What I was referring to was the fact that under MySQL you have more freedom to give individual users of a shared server rights to create and manage their databases In addition all databases are kept in separate directories unlike postgres.
As a server administrator, this make life simpler and you dont need to worry about other users messing around outside their designated environment.
I guess one reason users compare MySQL with Postgres is that they see the benefits of postgres and intend to switch or at least look into it, but at the same time they dont want to compromise when it comes to ease of use and administration.
MySQL is still the default database offered by any web hosting company and if Postgres wants to become the designated db engine for these services or become the worlds no.1 open source db then i think lots of things need to be done. Take for example the admin interface (MySQL Administrator) for MySQL which is done very professionally or the ease of setting up Replication. Postgres still is quite far behind there and for normal users that know MySQL best the transition is probably a too big step and risk.
But then again, it might not be the aim of postgres to become that no1 open source db and part of every web hosting environment. Instead rather to be an alternative for the serious databases for corporate use.
Might actually quite interesting to start a discussion on this topic here :-)
Cheers Alex
Frank Finner wrote:
On Sun, 28 Mar 2004 14:24:15 +0900 Alex <alex@meerkatsoft.com> sat down, thought long and then wrote:
Hi, what is the recommended way to run multiple databases under postgres.
In MySQL it is rather simple to give different users or websites their own database with all the access rights.
Any suggestion or links to documents are highly appreciated.
Alex
If you call "createdb -?" within a shell you will get the following:
--- createdb creates a PostgreSQL database.
Usage: createdb [OPTION]... [DBNAME] [DESCRIPTION]
Options: -D, --location=PATH alternative place to store the database -E, --encoding=ENCODING encoding for the database -O, --owner=OWNER database user to own the new database -T, --template=TEMPLATE template database to copy -e, --echo show the commands being sent to the server -q, --quiet don't write any messages --help show this help, then exit --version output version information, then exit
Connection options: -h, --host=HOSTNAME database server host or socket directory -p, --port=PORT database server port -U, --username=USERNAME user name to connect as -W, --password prompt for password
By default, a database with the same name as the current user is created.
Report bugs to <pgsql-bugs@postgresql.org>. ---
So, to create a database from shell, you have to call "createdb -O <valid database user> <databasename>". You should do this as valid database superuser
who may add databases!
Another way is to connect to template1 as the future owner: "psql template1 <valid database user>" and create the database with "CREATE DATABASE <databasename>...". Every valid user may connect to template1. You don´t need to use psql, this works for example also with PgAdmin, it´s even simpler because you don´t need to remember the syntax, just click around.
Of course, the <valid database user> must be enabled to create databases, therefore it must have been created either by calling "createuser -d <valid database user> ..." or with an appropriate SQL command "CREATE USER <valid database user> ... CREATEDB" by a database superuser, or again with a tool like PgAdmin.
BTW: Why do so many people comparisons with MySQL syntax during the last days? "MySQL can do this, in MySQL I can do this that way" and so on. Next time I´ d like to read something like "In DB2 I can simply add a database by whatever." or "With MS-SQL-Server you just have to do the following 32 steps to create a backup.". :-)
Who cares about how something works in MySQL? They are NOT the providers of a standard everybody has to use!
Regards, Frank.
---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ?
http://www.postgresql.org/docs/faqs/FAQ.html
---------------------------(end of broadcast)--------------------------- TIP 7: don't forget to increase your free space map settings