SUNScholar/Prepare Ubuntu/S06

From Libopedia
Jump to navigation Jump to search
Prepare Ubuntu - Index

Step 6. Install PostgreSQL

DSpace uses the PostgreSQL database server for the main catalog database. The following procedure installs the PostgreSQL server and creates the "dspace" database and "dspace" database user with the default password.

Step 6.1: Install PostgreSQL

sudo apt-get install postgresql-8.4 libpg-java

Step 6.2: Setup PostgreSQL admin password

Change database user permissions to "trust" only.

sudo sed -i 's/ident/trust/' /etc/postgresql/8.4/main/pg_hba.conf
sudo sed -i 's/md5/trust/' /etc/postgresql/8.4/main/pg_hba.conf

Restart database server.

sudo /etc/init.d/postgresql-8.4 restart

Open a database shell...

sudo psql -U postgres

... and set the password:

alter role postgres with password 'XXXXXX';

Note: Use your unique system admin password for this on a production system !

Quit the database shell.

\q

Step 6.3: Create the PostgreSQL "dspace" user

First we become the postgres user

sudo su - postgres

Create the "dspace" user with full privileges.

createuser -U postgres -d -A -P dspace

If asked the following:

Shall the new role be allowed to create more new roles? (y/n) y

Answer "y" for yes.

Step 6.4: Create the PostgreSQL 'dspace' database

Create the "dspace" database with the "dspace" database user as owner.

createdb -U dspace -E UNICODE dspace

Modify the dspace database user password.

alter role dspace with password 'XXXXXX';

Note: Use your unique dspace database password for this on a production system !

Quit the database shell.

\q

Step 6.5: Setup database host and user access permissions

Type the following:

sudo echo "## DSpace user access">> /etc/postgresql/8.4/main/pg_hba.conf
sudo echo "host    dspace       dspace      127.0.0.1/32         md5">> /etc/postgresql/8.4/main/pg_hba.conf

Step 6.6: Setup number of client connections

Edit the postgresql config file:

sudo nano /etc/postgresql/8.4/main/postgresql.conf

Change the number of "max_connections" to 300.


NANO Editor Help
CTL+O = Save the file and then press Enter
CTL+X = Exit "nano"
CTL+K = Delete line
CTL+U = Undelete line
CTL+W = Search for %%string%%
CTL+\ = Search for %%string%% and replace with $$string$$
CTL+C = Show line numbers

More info = http://en.wikipedia.org/wiki/Nano_(text_editor)


Step 6.7: Increase the kernel shared memory for postgresql connections

Edit the "/etc/sysctl.conf" file:

sudo nano /etc/sysctl.conf

Copy and paste the following to the end of the file:

# Postgres connections
kernel.shmmax = 500000000
kernel.shmall = 500000000

NANO Editor Help
CTL+O = Save the file and then press Enter
CTL+X = Exit "nano"
CTL+K = Delete line
CTL+U = Undelete line
CTL+W = Search for %%string%%
CTL+\ = Search for %%string%% and replace with $$string$$
CTL+C = Show line numbers

More info = http://en.wikipedia.org/wiki/Nano_(text_editor)


Type the following in a terminal:

sudo sysctl -p

Step 6.8: Restart the PostgreSQL server

Type the following:

sudo /etc/init.d/postgresql-8.4 restart

Below is a screenshot of the yearly DB connections.

Sunscholar-postgres connections db-year.png

 PREVIOUS
 NEXT