Update 'Dump OSM data to a postgis database'
parent
23066f7f93
commit
3732053e88
95
Dump-OSM-data-to-a-postgis-database.md
Normal file
95
Dump-OSM-data-to-a-postgis-database.md
Normal file
|
@ -0,0 +1,95 @@
|
||||||
|
# Steps
|
||||||
|
|
||||||
|
## Install, upgrade and start a modern Postgresql cluster
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
|
||||||
|
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt install postgresql-14 postgresql-14-postgis-3 osm2pgsql
|
||||||
|
sudo pg_createcluster 14 postgis
|
||||||
|
sudo systemctl enable postgresql@14-postgis.service
|
||||||
|
sudo systemctl start postgresql@14-postgis
|
||||||
|
```
|
||||||
|
After running the commands, you should get...
|
||||||
|
|
||||||
|
```
|
||||||
|
guillem@EURMP1519550L:~$ sudo systemctl status postgresql@14-postgis
|
||||||
|
● postgresql@14-postgis.service - PostgreSQL Cluster 14-postgis
|
||||||
|
Loaded: loaded (/lib/systemd/system/postgresql@.service; indirect; vendor preset: enabled)
|
||||||
|
Active: active (running) since Tue 2022-09-13 08:51:15 UTC; 3min 24s ago
|
||||||
|
Process: 7453 ExecStart=/usr/bin/pg_ctlcluster --skip-systemctl-redirect 14-postgis start (code=exited, status=0/SUCCESS)
|
||||||
|
Main PID: 7461 (postgres)
|
||||||
|
Tasks: 7 (limit: 4915)
|
||||||
|
CGroup: /system.slice/system-postgresql.slice/postgresql@14-postgis.service
|
||||||
|
├─7461 /usr/lib/postgresql/14/bin/postgres -D /var/lib/postgresql/14/postgis -c config_file=/etc/postgresql/14/postgis/postgresql.conf
|
||||||
|
├─7466 postgres: 14/postgis: checkpointer
|
||||||
|
├─7467 postgres: 14/postgis: background writer
|
||||||
|
├─7468 postgres: 14/postgis: walwriter
|
||||||
|
├─7469 postgres: 14/postgis: autovacuum launcher
|
||||||
|
├─7470 postgres: 14/postgis: stats collector
|
||||||
|
└─7471 postgres: 14/postgis: logical replication launcher
|
||||||
|
|
||||||
|
Sep 13 08:51:10 EURMP1519550L systemd[1]: Starting PostgreSQL Cluster 14-postgis...
|
||||||
|
Sep 13 08:51:15 EURMP1519550L systemd[1]: Started PostgreSQL Cluster 14-postgis.
|
||||||
|
```
|
||||||
|
|
||||||
|
Check the port where Postgres is running by finding the socket
|
||||||
|
|
||||||
|
```
|
||||||
|
guillem@EURMP1519550L:~$ ls /var/run/postgresql/
|
||||||
|
10-main.pg_stat_tmp/ 12-main.pg_stat_tmp/ 14-main.pg_stat_tmp/ 14-postgis.pg_stat_tmp/ 14-postgis.pid .s.PGSQL.5435 .s.PGSQL.5435.lock
|
||||||
|
```
|
||||||
|
|
||||||
|
Enter the database with:
|
||||||
|
|
||||||
|
```
|
||||||
|
guillem@EURMP1519550L:~$ sudo -u postgres psql -p 5435
|
||||||
|
psql (14.5 (Ubuntu 14.5-1.pgdg18.04+1))
|
||||||
|
Type "help" for help.
|
||||||
|
|
||||||
|
postgres=#
|
||||||
|
```
|
||||||
|
|
||||||
|
## Install postgresql extensions
|
||||||
|
|
||||||
|
```
|
||||||
|
guillem@EURMP1519550L:~$ sudo -u postgres psql -p 5435
|
||||||
|
psql (14.5 (Ubuntu 14.5-1.pgdg18.04+1))
|
||||||
|
Type "help" for help.
|
||||||
|
|
||||||
|
postgres=# create database pgsnapshot;
|
||||||
|
CREATE DATABASE
|
||||||
|
postgres=# \c pgsnapshot
|
||||||
|
You are now connected to database "pgsnapshot" as user "postgres".
|
||||||
|
pgsnapshot=# create extension postgis;
|
||||||
|
CREATE EXTENSION
|
||||||
|
pgsnapshot=# create extension hstore;
|
||||||
|
CREATE EXTENSION
|
||||||
|
pgsnapshot=# \dx
|
||||||
|
List of installed extensions
|
||||||
|
Name | Version | Schema | Description
|
||||||
|
---------+---------+------------+------------------------------------------------------------
|
||||||
|
hstore | 1.8 | public | data type for storing sets of (key, value) pairs
|
||||||
|
plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language
|
||||||
|
postgis | 3.2.1 | public | PostGIS geometry and geography spatial types and functions
|
||||||
|
(3 rows)
|
||||||
|
|
||||||
|
pgsnapshot=# \password postgres
|
||||||
|
Enter new password for user "postgres":
|
||||||
|
Enter it again:
|
||||||
|
```
|
||||||
|
|
||||||
|
## Download and load OSM data
|
||||||
|
|
||||||
|
Download the data dump from https://download.openstreetmap.fr/
|
||||||
|
|
||||||
|
```
|
||||||
|
wget https://download.openstreetmap.fr/extracts/north-america/mexico-latest.osm.pbf
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo -u postgres osm2pgsql --create --database pgsnapshot --cache 20000 --number-processes 2 --slim -P 5435 --keep-coastlines --extra-attributes --hstore-all mexico-latest.osm.pbf
|
||||||
|
```
|
||||||
|
|
||||||
|
Then change the postgresql.conf and pg_hba.conf files to allow remote connections to the database.
|
Loading…
Reference in a new issue