update create role and database
ménage, maintenance, documentation
This commit is contained in:
parent
b416fe994c
commit
0286523bbe
82
README.md
82
README.md
|
@ -1,5 +1,6 @@
|
||||||
# OpenStreetMap & Ar Redadeg
|
# OpenStreetMap & Ar Redadeg
|
||||||
|
|
||||||
|
|
||||||
## Contexte
|
## Contexte
|
||||||
|
|
||||||
|
|
||||||
|
@ -9,51 +10,16 @@ But : créer des données de tracés et points kilométriques basé sur le filai
|
||||||
|
|
||||||
Ceci afin d'avoir un tracé le plus précis possible par rapport aux longueurs et de connaître le nom des voies utilisées.
|
Ceci afin d'avoir un tracé le plus précis possible par rapport aux longueurs et de connaître le nom des voies utilisées.
|
||||||
|
|
||||||
|
[TODO : décrire le processus depuis umap puis merour. expliquer les limitation (FME)]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
### Préparer la base de données
|
|
||||||
|
|
||||||
Avec un compte administrateur PostgreSQL :
|
|
||||||
* Créer un rôle 'redadeg'
|
|
||||||
* Créer une base 'redadeg' et mettre le rôle 'redadeg' en propriétaire
|
|
||||||
|
|
||||||
```sql
|
|
||||||
CREATE USER redadeg WITH LOGIN PASSWORD 'redadeg';
|
|
||||||
CREATE DATABASE redadeg WITH OWNER = redadeg;
|
|
||||||
```
|
|
||||||
|
|
||||||
Ouvrir une connexion sur la base redadeg, toujours avec un compte administrateur pour installer les extensions :
|
|
||||||
* postgis
|
|
||||||
* postgis_topology
|
|
||||||
* pgrouting (apt install postgresql-11-pgrouting)
|
|
||||||
|
|
||||||
```sql
|
|
||||||
CREATE EXTENSION postgis ;
|
|
||||||
CREATE EXTENSION postgis_topology;
|
|
||||||
CREATE EXTENSION pgrouting;
|
|
||||||
|
|
||||||
-- permissions
|
|
||||||
ALTER SCHEMA topology OWNER TO redadeg ;
|
|
||||||
ALTER TABLE topology.layer OWNER TO redadeg ;
|
|
||||||
ALTER TABLE topology.topology OWNER TO redadeg ;
|
|
||||||
```
|
|
||||||
|
|
||||||
Si on veut vérifier : `select * from pgr_version()`
|
|
||||||
(2.6.2)
|
|
||||||
|
|
||||||
Note : l'extension postgis_topology crée forcément un schéma *topology* dans la base de données.
|
|
||||||
|
|
||||||
On prépare également la connexion à la base dans son pgpass
|
|
||||||
|
|
||||||
`nano ~/.pgpass`
|
|
||||||
|
|
||||||
`localhost:5432:redadeg:redadeg:redadeg`
|
|
||||||
|
|
||||||
|
|
||||||
### Installer ogr2ogr
|
### Installer ogr2ogr
|
||||||
|
|
||||||
|
ogr2ogr nous servira pour charger des données dans la base.
|
||||||
|
|
||||||
ogr2ogr fait partie du paquet 'gdal-bin'
|
ogr2ogr fait partie du paquet 'gdal-bin'
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -61,10 +27,11 @@ sudo apt-get install gdal-bin
|
||||||
ogr2ogr --version
|
ogr2ogr --version
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Cloner ce dépôt
|
||||||
|
|
||||||
### Installer les tables
|
On commence par cloner ce dépôt.
|
||||||
|
|
||||||
On commence par cloner ce dépôt
|
Allez où vous voulez sur votre ordinateur, puis :
|
||||||
|
|
||||||
`git clone https://github.com/osm-bzh/ar_redadeg.git`
|
`git clone https://github.com/osm-bzh/ar_redadeg.git`
|
||||||
|
|
||||||
|
@ -72,11 +39,42 @@ Puis on se déplace dans le répertoire
|
||||||
|
|
||||||
`cd ar_redadeg/scripts/`
|
`cd ar_redadeg/scripts/`
|
||||||
|
|
||||||
On exécute le scripts SQL qui va créer toutes les tables
|
|
||||||
|
|
||||||
|
|
||||||
|
### Créer la base de données
|
||||||
|
|
||||||
|
Utiliser le script suivant avec un compte linux qui dispose d'un rôle 'superuser' sur la base PostgreSQL
|
||||||
|
|
||||||
|
[scripts/create_database.sh](scripts/create_database.sh)
|
||||||
|
|
||||||
|
`./create_database.sh`
|
||||||
|
|
||||||
|
Il va créer :
|
||||||
|
* un compte (rôle) redadeg / redadeg
|
||||||
|
* une base 'redadeg'
|
||||||
|
* les extensions postgis, postgis_topology et pgrouting
|
||||||
|
* et mettre le rôle 'redadeg' en propriétaire de tout ça
|
||||||
|
|
||||||
|
|
||||||
|
Note : l'extension postgis_topology crée forcément un schéma *topology* dans la base de données.
|
||||||
|
|
||||||
|
**Rajouter à la main la connexion à la base dans son pgpass !**
|
||||||
|
|
||||||
|
`nano ~/.pgpass`
|
||||||
|
|
||||||
|
`localhost:5432:redadeg:redadeg:redadeg`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Créer les tables
|
||||||
|
|
||||||
|
On exécute ensuite le scripts SQL qui va créer toutes les tables
|
||||||
|
|
||||||
`psql -U redadeg -d redadeg < create_tables.sql`
|
`psql -U redadeg -d redadeg < create_tables.sql`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Charger et traiter les données
|
## Charger et traiter les données
|
||||||
|
|
||||||
Phase 1
|
Phase 1
|
||||||
|
|
|
@ -3,19 +3,27 @@
|
||||||
|
|
||||||
# utiliser un compte SUPERUSER pour exécuter ce script
|
# utiliser un compte SUPERUSER pour exécuter ce script
|
||||||
|
|
||||||
|
dbhost=localhost
|
||||||
|
|
||||||
|
#psql -h $dbhost -d postgres -c "DROP DATABASE IF EXISTS redadeg; DROP ROLE IF EXISTS redadeg;"
|
||||||
|
|
||||||
# create role
|
# create role
|
||||||
createuser -l -S redadeg
|
psql -h $dbhost -d postgres -c "CREATE USER redadeg WITH PASSWORD 'redadeg' SUPERUSER;"
|
||||||
# password
|
|
||||||
psql -d postgres -c "ALTER USER redadeg WITH PASSWORD 'redadeg';"
|
|
||||||
|
|
||||||
# create database with owner redadeg
|
# create database with owner redadeg
|
||||||
createdb -E UTF8 -O redadeg redadeg
|
psql -h $dbhost -d postgres -c "CREATE DATABASE redadeg WITH OWNER = redadeg ENCODING = 'UTF8';"
|
||||||
|
|
||||||
# postgis extensions
|
# extensions postgis
|
||||||
psql -d redadeg -c "CREATE EXTENSION postgis;"
|
psql -h $dbhost -d redadeg -c "CREATE EXTENSION postgis;"
|
||||||
psql -d redadeg -c "CREATE EXTENSION pgrouting;"
|
psql -h $dbhost -d redadeg -c "CREATE EXTENSION postgis_topology;"
|
||||||
psql -d redadeg -c "CREATE EXTENSION postgis_topology SCHEMA topology;"
|
psql -h $dbhost -d redadeg -c "CREATE EXTENSION pgrouting;"
|
||||||
|
|
||||||
# create tables
|
# permissions
|
||||||
psql -d redadeg -U redadeg -W < create_tables.sql
|
psql -h $dbhost -d redadeg -c "ALTER SCHEMA public OWNER TO redadeg;"
|
||||||
|
psql -h $dbhost -d redadeg -c "ALTER TABLE topology.layer OWNER TO redadeg ;"
|
||||||
|
psql -h $dbhost -d redadeg -c "ALTER TABLE topology.topology OWNER TO redadeg ;"
|
||||||
|
|
||||||
|
# vérifications
|
||||||
|
psql -h $dbhost -d redadeg -c "SELECT * FROM postgis_version();"
|
||||||
|
psql -h $dbhost -d redadeg -c "SELECT * FROM pgr_version();"
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue