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

./configure
gmake
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/createdb musicbrainz
/usr/local/pgsql/bin/psql test

Build and install Postgres and Cube extension required by Musicbrainz

cd contrib/cube
gmake 
sudo gmake install
pg_config
cd /usr/local/pgsql/share/contrib
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 then create user musicbrainz

I then followed [[1]http://wiki.musicbrainz.org/Database_Installation] but had to make some changes for NGS release as follows

Just interested in mbdump and mpdump-cdstubs (cdstubs) and mbdump-derived (annotations, tags)

Create one database called musicbrainz and use it for both main and raw database

Edit admin/sql/CreateIndexes.sql removing the page indexes and musicbrainz_collate indexes

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