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
|
||||
|
||||
|
||||
## 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.
|
||||
|
||||
[TODO : décrire le processus depuis umap puis merour. expliquer les limitation (FME)]
|
||||
|
||||
|
||||
|
||||
## 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
|
||||
|
||||
ogr2ogr nous servira pour charger des données dans la base.
|
||||
|
||||
ogr2ogr fait partie du paquet 'gdal-bin'
|
||||
|
||||
```
|
||||
|
@ -61,10 +27,11 @@ sudo apt-get install gdal-bin
|
|||
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`
|
||||
|
||||
|
@ -72,11 +39,42 @@ Puis on se déplace dans le répertoire
|
|||
|
||||
`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`
|
||||
|
||||
|
||||
|
||||
## Charger et traiter les données
|
||||
|
||||
Phase 1
|
||||
|
|
|
@ -3,19 +3,27 @@
|
|||
|
||||
# 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
|
||||
createuser -l -S redadeg
|
||||
# password
|
||||
psql -d postgres -c "ALTER USER redadeg WITH PASSWORD 'redadeg';"
|
||||
psql -h $dbhost -d postgres -c "CREATE USER redadeg WITH PASSWORD 'redadeg' SUPERUSER;"
|
||||
|
||||
# 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
|
||||
psql -d redadeg -c "CREATE EXTENSION postgis;"
|
||||
psql -d redadeg -c "CREATE EXTENSION pgrouting;"
|
||||
psql -d redadeg -c "CREATE EXTENSION postgis_topology SCHEMA topology;"
|
||||
# extensions postgis
|
||||
psql -h $dbhost -d redadeg -c "CREATE EXTENSION postgis;"
|
||||
psql -h $dbhost -d redadeg -c "CREATE EXTENSION postgis_topology;"
|
||||
psql -h $dbhost -d redadeg -c "CREATE EXTENSION pgrouting;"
|
||||
|
||||
# create tables
|
||||
psql -d redadeg -U redadeg -W < create_tables.sql
|
||||
# permissions
|
||||
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