Creating the Evergreen database

Setting up the PostgreSQL server

For production use, most libraries install the PostgreSQL database server on a
dedicated machine. Therefore, by default, the Makefile.install prerequisite
installer does not install the PostgreSQL 9 database server that is required
by every Evergreen system. You can install the packages required by Debian or
Ubuntu on the machine of your choice using the following commands as the
root Linux account:

You need to create a PostgreSQL superuser to create and access the database.
Issue the following command as the postgres Linux account to create a new
PostgreSQL superuser named evergreen. When prompted, enter the new user’s
password:

createuser -s -P evergreen

Enabling connections to the PostgreSQL database. Your PostgreSQL database may be configured by default to prevent connections,
for example, it might reject attempts to connect via TCP/IP or from other
servers. To enable TCP/IP connections from localhost, check your pg_hba.conf
file, found in the /etc/postgresql/ directory on Debian and Ubuntu.
A simple way to enable TCP/IP
connections from localhost to all databases with password authentication, which
would be suitable for a test install of Evergreen on a single server, is to
ensure the file contains the following entries before any "host … ident"
entries:

Creating the Evergreen database and schema

Once you have created the evergreen PostgreSQL account, you also need to
create the database and schema, and configure your configuration files to point
at the database server. Issue the following command as the root Linux account
from inside the Evergreen source directory, replacing <user>, <password>,
<hostname>, <port>, and <dbname> with the appropriate values for your
PostgreSQL database (where <user> and <password> are for the evergreen
PostgreSQL account you just created), and replace <admin-user> and <admin-pass>
with the values you want for the egadmin Evergreen administrator account:

This creates the database and schema and configures all of the services in
your /openils/conf/opensrf.xml configuration file to point to that database.
It also creates the configuration files required by the Evergreen cgi-bin
administration scripts, and sets the user name and password for the egadmin
Evergreen administrator account to your requested values.

You can get a complete set of options for eg_db_config by passing the
--help parameter.

Loading sample data

If you add the --load-all-sample parameter to the eg_db_config command,
a set of authority and bibliographic records, call numbers, copies, staff
and regular users, and transactions will be loaded into your target
database. This sample dataset is commonly referred to as the concerto
sample data, and can be useful for testing out Evergreen functionality and
for creating problem reports that developers can easily recreate with their
own copy of the concerto sample data.

Creating the database on a remote server

In a production instance of Evergreen, your PostgreSQL server should be
installed on a dedicated server.

PostgreSQL 9.4 and later

To create the database instance on a remote database server running PostgreSQL
9.4 or later, simply use the --create-database flag on eg_db_config.