- 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
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
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
-Subproject commit cb7655a4ff7df7c93eb444e36035701b92b2ec35
+Subproject commit b8af2b242f55b4f31abac9ba428d4ccf6aa51cd0
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;
$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;
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'))
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=*"
@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