This repository has been archived by the owner on May 4, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 20
/
INSTALL.pgsql.txt
44 lines (30 loc) · 1.87 KB
/
INSTALL.pgsql.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
// $Id: INSTALL.pgsql.txt,v 1.9 2010-04-07 15:07:58 dries Exp $
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.