MusicBrainz NGS Database Install for Mac

From MusicBrainz Wiki
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Setting up Postgres for Musicbrainz on a Mac System

Remove previous installation

sudo rm -r /usr/local/pgsql/ 

Install MacPorts

Now install gmake using MacPorts

port gmake

Download postgres8.3 source and unzip Build and install

gmake install
adduser postgres
mkdir /usr/local/pgsql/data
sudo chown postgres /usr/local/pgsql/data
su - postgres
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 &
/usr/local/pgsql/bin/createuser -U postgres musicbrainz
/usr/local/pgsql/bin/createuser -U postgres paul
/usr/local/pgsql/bin/createdb -T template0 --owner musicbrainz --encoding=UNICODE musicbrainz

Build and install Postgres and Cube extension required by Musicbrainz

cd contrib/cube
sudo gmake install
cd /usr/local/pgsql/share/contrib
/usr/local/pgsql/bin/psql -d musicbrainz -U musicbrainz -f cube.sql

Reboot, start Postgres Server (because if built from source wont be started automatically, Best to put this command in a script in postgres users home dir)

sudo - postgres/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start

Install pgadmin

Run pgadmin check can connect to server

I then followed [[1]] but had to make some changes for NGS release as follows, my revised instructions are below

Go to Musicbrainz-server repository

rm admin/sql/CreateIndexes.sql
git pull

Download mbdump and mpdump-cdstubs (cdstubs) and mbdump-derived (annotations, tags)dumps Edit admin/sql/CreateIndexes.sql removing the page indexes and musicbrainz_collate indexes

/usr/local/pgsql/bin/psql -U musicbrainz musicbrainz
\i CreateIndexes.sql

Also need to run admin/sql/vertical/rawdata/CreateTable.sql, CreatePrimaryKeys.sql and CreateIndexes.sql

for t in *; do echo `date` $t ; echo "\\copy $t from ./$t" | /usr/local/pgsql/bin/psql -U musicbrainz musicbrainz && mv $t ../done/; done; echo `date` Done

When build indexes modify IndexOptions.prepareDbConnection to not use a schema because schema is not used with the above instructions