1 |
6461
|
aaronmk
|
#!/bin/bash
|
2 |
4395
|
aaronmk
|
# Creates analytical DB
|
3 |
|
|
|
4 |
|
|
selfDir="$(dirname -- "$0")"
|
5 |
|
|
|
6 |
6459
|
aaronmk
|
. "$selfDir/vegbien_dest"
|
7 |
|
|
|
8 |
6055
|
aaronmk
|
exec 2>>"$selfDir/../inputs/analytical_db/logs/make_analytical_db.log.sql" >&2
|
9 |
6047
|
aaronmk
|
|
10 |
6054
|
aaronmk
|
(set -x; date)
|
11 |
6048
|
aaronmk
|
|
12 |
6460
|
aaronmk
|
mk_analytical_table ()
|
13 |
|
|
{
|
14 |
|
|
local table="$1"
|
15 |
6465
|
aaronmk
|
local public_table="\"$public\".$table" analyt_table="analytical_db.$table"
|
16 |
6460
|
aaronmk
|
cat <<EOF
|
17 |
|
|
-- Create $table
|
18 |
6466
|
aaronmk
|
TRUNCATE $public_table;
|
19 |
|
|
INSERT INTO $public_table SELECT * FROM ${public_table}_view;
|
20 |
7061
|
aaronmk
|
ANALYZE $public_table;
|
21 |
6460
|
aaronmk
|
|
22 |
6465
|
aaronmk
|
-- Create $analyt_table view pointing to table in $public
|
23 |
|
|
DROP VIEW IF EXISTS $analyt_table;
|
24 |
|
|
CREATE VIEW $analyt_table AS
|
25 |
|
|
SELECT * FROM $public_table;
|
26 |
|
|
GRANT SELECT ON TABLE $analyt_table TO bien_read;
|
27 |
6460
|
aaronmk
|
EOF
|
28 |
|
|
}
|
29 |
|
|
|
30 |
7345
|
aaronmk
|
((set -x; "$selfDir/psql_verbose_vegbien") <<EOF
|
31 |
7031
|
aaronmk
|
GRANT USAGE ON SCHEMA analytical_db TO bien_read;
|
32 |
|
|
GRANT USAGE ON SCHEMA analytical_db TO public_;
|
33 |
|
|
|
34 |
6053
|
aaronmk
|
TRUNCATE geoscrub_input;
|
35 |
|
|
INSERT INTO geoscrub_input SELECT * FROM geoscrub_input_view;
|
36 |
|
|
|
37 |
6042
|
aaronmk
|
SELECT make_family_higher_plant_group();
|
38 |
6085
|
aaronmk
|
TRUNCATE threatened_taxonlabel;
|
39 |
|
|
INSERT INTO threatened_taxonlabel SELECT * FROM threatened_taxonlabel_view;
|
40 |
6042
|
aaronmk
|
|
41 |
6895
|
aaronmk
|
$(mk_analytical_table taxon_trait)
|
42 |
6460
|
aaronmk
|
$(mk_analytical_table analytical_stem)
|
43 |
6868
|
aaronmk
|
$(mk_analytical_table provider_count)
|
44 |
7043
|
aaronmk
|
GRANT SELECT ON TABLE analytical_db.provider_count TO public_;
|
45 |
6460
|
aaronmk
|
$(mk_analytical_table analytical_aggregate)
|
46 |
6042
|
aaronmk
|
EOF
|
47 |
7345
|
aaronmk
|
) || exit
|
48 |
6981
|
aaronmk
|
|
49 |
|
|
"$selfDir/export_analytical_db"
|