// $Id$ CREATE THE PostgreSQL DATABASE ------------------------------ Note that the database must be created with UTF-8 (Unicode) encoding. 1. CREATE DATABASE USER This step is only necessary if you don't already have a user set up (e.g. by your host) or you want to create new user for use with Drupal only. The following command creates a new user named "username" and asks for a password for that user: createuser --pwprompt --encrypted --no-createrole --no-createdb username If there are no errors then the command was successful 2. CREATE THE DRUPAL DATABASE This step is only necessary if you don't already have a database set up (e.g. by your host) or you want to create new database for use with Drupal only. The following command creates a new database named "databasename", which is owned by previously created "username": createdb --encoding=UTF8 --owner=username databasename If there are no errors then the command was successful 3. CREATE A SCHEMA OR SCHEMAS (Optional advanced) Drupal will run across different schemas within your database if you so wish. By default, Drupal runs inside the 'public' schema but you can use $db_prefix inside settings.php to define a schema for Drupal to inside of or specify tables that are shared inside of a separate schema. Drupal will not create schemas for you, infact the user that Drupal runs as should not be allowed to. You'll need execute the SQL below as a superuser (such as a postgres user) and replace 'drupaluser' with the username that Drupal uses to connect to PostgreSQL with and replace schema_name with a schema name you wish to use such as 'shared': CREATE SCHEMA schema_name AUTHORIZATION drupaluser; Do this for as many schemas as you need. See default.settings.php for how to set which tables use which schemas.