X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/dd9ad16303f0496455720721e01b3c5042094f38..dd5635204e1502671c2aee313e83def56e7bad5c:/db/README?ds=sidebyside diff --git a/db/README b/db/README index d89a67bfb..814dcb96c 100644 --- a/db/README +++ b/db/README @@ -1,59 +1,34 @@ Creating database =================== -OSM server uses a database with the following name: +OSM server uses a Postgres database with the following name: openstreetmap You may create it with your preferable client or run next (linux) command: -$ mysqladmin -u -p create openstreetmap +$ createdb openstreetmap -(change with appropriate username of administrative user eg. root ) - -Creating user, password, and access rights -============================================ - -$ mysql -u -p - -(change with appropriate username of administrative user eg. root ) - -> grant all privileges on openstreetmap.* to 'openstreetmap'@'localhost' identified by 'openstreetmap'; -> flush privileges; -> exit - -Creating functions -==================== +Creating functions for PgSQL +============================== Run this command in the db/functions directory: -$ make - -The above command should work for linux and most other Unix systems -that use ELF shared objects. For MacOS X you will need to do: +$ make libpgosm.so -$ make libquadtile.dylib +You might also need to install: +- postgresql development libraries: $ sudo apt-get install postgresql-server-dev-8.3 +- ruby development libraries: $ sudo apt-get install ruby1.8-dev +for build to succeed. -Make sure the db/functions directory is on the MySQL server's library -path and restart the MySQL server. On linux the easiest way to do this -is to create /etc/ld.so.conf.d/osm.conf and place the path to the -db/functions directory in it and then run the following command as root: +Now create the function as follows: -$ ldconfig +$ psql openstreetmap +(This may need authentication or a -u ) -Now create the functions as follows: - -$ mysql -u -p openstreetmap - -(change with appropriate username of administrative user eg. root ) - -> create function tile_for_point returns integer soname 'libquadtile.so'; -> exit - -or, for MacOS X: - -> create function tile_for_point returns integer soname 'libquadtile.dylib'; -> exit +> CREATE FUNCTION maptile_for_point(int8, int8, int4) RETURNS int4 + AS '/path/to/rails-port/db/functions/libpgosm.so', 'maptile_for_point' + LANGUAGE C STRICT; Creating database skeleton tables =================================== @@ -63,3 +38,7 @@ Run this command from the root of your rails directory: $ rake db:migrate This will create the db for you + +You will need to make sure the database connection is configured in database.yml in config directory +You might start with example configuration provided: +$ cp config/example.database.yml config/database.yml