-
Notifications
You must be signed in to change notification settings - Fork 1
/
setupbase.sql
executable file
·73 lines (59 loc) · 2.21 KB
/
setupbase.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
/*
* creation DB gouramic + setup des roles
* devra sans doite etre refait sur une version
* plus récente de Postgre et postgis
* cela sera important pour les rasters
*/
-- penser à le decommenter ....
-- create database dbgouramic;
-- pour éviter un fourre tout dans public postgis à son propre schema
create schema if not exists postgis;
create extension postgis schema postgis;
-- A partir de la version 3.0 de postgis uniquement
create extension postgis_raster schema postgis;
grant usage on schema postgis to public;
-- ici pe un pas possible sur ancienne version
create schema if not exists gou;
-- un schema pour les données en transit
create schema if not exists staging;
-- pas certain que cela soit utile
SET search_path TO gou, public;
alter database dbgouramic set search_path=public, postgis, contrib;
alter database dbgouramic set postgis.gdal_enabled_drivers = 'ENABLE_ALL';
-- penser à relancer le service
-- sudo service postgresql restart
-- verification de postgis
SELECT postgis_full_version();
-- creation des roles et users
create role lecteur NOCREATEDB NOCREATEROLE;
grant CONNECT on database dbgouramic
to lecteur;
grant USAGE
on schema gou
to lecteur;
grant USAGE
on schema staging
to lecteur;
-- ici il y a pas de table pour le moment mais je garde pour memoire
grant select on all TABLES
in schema gou
to lecteur;
grant select on all TABLES
in schema staging
to lecteur;
-- changer les param par defaut
alter default PRIVILEGES
in SCHEMA gou
grant select on TABLES
to lecteur;
alter default PRIVILEGES
in SCHEMA staging
grant select on TABLES
to lecteur;
-- les fonctions sont dans public donc normalement accessible à verif
create user matthieu with PASSWORD 'unpwd';
grant lecteur TO matthieu;
create user remi with PASSWORD 'deuxpwd';
grant lecteur to remi;
-- penser à relancer le service
-- sudo service postgresql restart