]> git.openstreetmap.org Git - nominatim.git/commitdiff
Merge pull request #1829 from krahulreddy/websiteSetup
authorSarah Hoffmann <lonvia@denofr.de>
Wed, 1 Jul 2020 16:11:50 +0000 (18:11 +0200)
committerGitHub <noreply@github.com>
Wed, 1 Jul 2020 16:11:50 +0000 (18:11 +0200)
Added setup-website option

.travis.yml
docs/admin/Migration.md
osm2pgsql
sql/functions/utils.sql
utils/update.php
vagrant/install-on-travis-ci.sh

index 578bdd61c6cd40e9ff40358851ef2f63abae80fa..4461add9f454f8150f5ea5ffebdb5e937d3405eb 100644 (file)
@@ -37,5 +37,7 @@ script:
   - if [[ $TEST_SUITE == "monaco" ]]; then /usr/bin/env php ./utils/setup.php --osm-file ../data/monaco.osm.pbf --osm2pgsql-cache 1000 --all 2>&1 | grep -v 'ETA (seconds)'; fi
   - if [[ $TEST_SUITE == "monaco" ]]; then /usr/bin/env php ./utils/specialphrases.php --wiki-import | psql -d test_api_nominatim >/dev/null; fi
   - if [[ $TEST_SUITE == "monaco" ]]; then /usr/bin/env php ./utils/check_import_finished.php; fi
+  - if [[ $TEST_SUITE == "monaco" ]]; then /usr/bin/env php ./utils/update.php --init-updates; fi
+  - if [[ $TEST_SUITE == "monaco" ]]; then /usr/bin/env php ./utils/update.php --import-osmosis; fi
 notifications:
   email: false
index f3858cf6963ff0b1bfbc244359b83e18cf3e7818..c7d3fe18807d856a764130e58ad0dad22d97579d 100644 (file)
@@ -21,6 +21,18 @@ follows:
 
 The last step takes about 10 hours on the full planet.
 
+Remove one function (it will be recreated in the next step):
+
+```sql
+DROP FUNCTION create_country(hstore,character varying);
+```
+
+Finally, update all SQL functions:
+
+```sh
+./utils/setup.php --create-functions --enable-diff-updates --create-partition-functions
+```
+
 ## 3.3.0 -> 3.4.0
 
 ### Reorganisation of location_area_country table
@@ -38,6 +50,12 @@ CREATE INDEX idx_location_area_country_geometry ON location_area_country USING G
 CREATE INDEX idx_location_area_country_place_id ON location_area_country USING BTREE (place_id);
 ```
 
+Finally, update all SQL functions:
+
+```sh
+./utils/setup.php --create-functions --enable-diff-updates --create-partition-functions
+```
+
 ## 3.2.0 -> 3.3.0
 
 ### New database connection string (DSN) format
index cb7655a4ff7df7c93eb444e36035701b92b2ec35..b8af2b242f55b4f31abac9ba428d4ccf6aa51cd0 160000 (submodule)
--- a/osm2pgsql
+++ b/osm2pgsql
@@ -1 +1 @@
-Subproject commit cb7655a4ff7df7c93eb444e36035701b92b2ec35
+Subproject commit b8af2b242f55b4f31abac9ba428d4ccf6aa51cd0
index 2b3db04a92116b38c4f0504f1372923d313ed897..33ae340a601666f91fbaf20c3715460d633064c4 100644 (file)
@@ -467,7 +467,7 @@ DECLARE
   placegeom GEOMETRY;
   geom GEOMETRY;
   diameter FLOAT;
-  rank INTEGER;
+  rank SMALLINT;
 BEGIN
   UPDATE placex SET indexed_status = 2 WHERE place_id = placeid;
   SELECT geometry, rank_search FROM placex WHERE place_id = placeid INTO placegeom, rank;
index d03cbed6b8e32029bdc6ccd4be353d1bb92c9ec9..189a18255090732a4d62f08f9436caa8447b99da 100644 (file)
@@ -55,6 +55,7 @@ date_default_timezone_set('Etc/UTC');
 
 $oDB = new Nominatim\DB();
 $oDB->connect();
+$fPostgresVersion = $oDB->getPostgresVersion();
 
 $aDSNInfo = Nominatim\DB::parseDSN(CONST_Database_DSN);
 if (!isset($aDSNInfo['port']) || !$aDSNInfo['port']) $aDSNInfo['port'] = 5432;
@@ -90,6 +91,12 @@ if (isset($aDSNInfo['password']) && $aDSNInfo['password']) {
 if (!is_null(CONST_Osm2pgsql_Flatnode_File) && CONST_Osm2pgsql_Flatnode_File) {
     $oOsm2pgsqlCmd->addParams('--flat-nodes', CONST_Osm2pgsql_Flatnode_File);
 }
+if ($fPostgresVersion >= 11.0) {
+    $oOsm2pgsqlCmd->addEnvPair(
+        'PGOPTIONS',
+        '-c jit=off -c max_parallel_workers_per_gather=0'
+    );
+}
 
 
 $oIndexCmd = (new \Nominatim\Shell(CONST_BasePath.'/nominatim/nominatim.py'))
index 2522f05f3e9bba408ed7c024c6499c5fd2e0a020..3b8ed190460d63d781e4ef5cc3f7915dbbaac8fc 100755 (executable)
@@ -20,7 +20,7 @@ sudo apt-get install -y -qq libboost-dev libboost-system-dev \
 
 sudo apt-get install -y -qq python3-dev python3-pip php-cgi
 
-pip3 install --quiet behave nose pytidylib psycopg2-binary
+pip3 install --quiet behave nose pytidylib psycopg2-binary osmium
 
 # https://github.com/squizlabs/PHP_CodeSniffer
 composer global require "squizlabs/php_codesniffer=*"
@@ -64,5 +64,6 @@ tee settings/local.php << EOF
  @define('CONST_Website_BaseURL', '/nominatim/');
  @define('CONST_Database_DSN', 'pgsql:dbname=test_api_nominatim');
  @define('CONST_Wikipedia_Data_Path', CONST_BasePath.'/test/testdb');
+ @define('CONST_Replication_Max_Diff_size', '3');
 EOF