gerrit/Documentation/database-setup.txt
Jan Kundrát 2c227bccfe Improve the instructions for PgSQL setup
- There's no such option as "-A"
- It's better to pass -S (for --no-superuser) and -R (--no-createrole) than to
be prompted for them interactively.

Change-Id: I0b10a6c6e67a4362f510c022126354e8d6254e62
2013-02-07 21:55:16 +01:00

66 lines
2.1 KiB
Plaintext

[[createdb]]
Database Setup
--------------
During the init phase of Gerrit you will need to specify which database to use.
[[createdb_h2]]
H2
~~
If you choose H2, Gerrit will automatically set up the embedded H2 database as
backend so no set up or configuration is necessary.
Using the embedded H2 database is the easiest way to get a Gerrit
site up and running, making it ideal for proof of concepts or small team
servers. On the flip side, H2 is not the recommended option for large
corporate installations. This is because there is no easy way to interact
with the database while Gerrit is offline, it's not easy to backup the data,
and it's not possible to set up H2 in a load balanced/hotswap configuration.
If this option interests you, you might want to consider link:install-quick.html[the quick guide].
[[createdb_postgres]]
PostgreSQL
~~~~~~~~~~
This option is more complicated than the H2 option but is recommended
for larger installations. It's the database backend with the largest userbase
in the Gerrit community.
Create a user for the web application within Postgres, assign it a
password, create a database to store the metadata, and grant the user
full rights on the newly created database:
----
$ createuser --username=postgres -S -R -D -P -E gerrit2
$ createdb --username=postgres -E UTF-8 -O gerrit2 reviewdb
----
Visit PostgreSQL's link:http://www.postgresql.org/docs/9.1/interactive/index.html[documentation] for further information regarding
using PostgreSQL.
[[createdb_mysql]]
MySQL
~~~~~
This option is also more complicated than the H2 option. Just as with
PostgreSQL it's also recommended for larger installations.
Create a user for the web application within the database, assign it a
password, create a database, and give the newly created user full
rights on it:
----
mysql
CREATE USER 'gerrit2'@'localhost' IDENTIFIED BY 'secret';
CREATE DATABASE reviewdb;
ALTER DATABASE reviewdb charset=latin1;
GRANT ALL ON reviewdb.* TO 'gerrit2'@'localhost';
FLUSH PRIVILEGES;
----
Visit MySQL's link:http://dev.mysql.com/doc/[documentation] for further
information regarding using MySQL.