· 7 years ago · Dec 18, 2018, 10:50 AM
1CREATE EXTENSION IF NOT EXISTS postgres_fdw;
2
3CREATE SERVER minu_testandmete_server_apex FOREIGN DATA WRAPPER
4postgres_fdw OPTIONS (host 'apex.ttu.ee', dbname 'testandmed',
5port '5432');
6
7CREATE USER MAPPING FOR t990999 SERVER
8minu_testandmete_server_apex OPTIONS (user 't164838', password
9'Andmebaaz3');
10
11CREATE FOREIGN TABLE Riik_jsonb (
12riik JSONB )
13SERVER minu_testandmete_server_apex;
14
15SELECT * FROM Riik_jsonb;
16INSERT INTO Riik (riik_kood, nimetus)
17SELECT riik->>'Alpha-3 code' AS riik_kood,
18riik->>'English short name lower case' AS nimetus
19FROM Riik_jsonb;
20SELECT * FROM Riik;
21CREATE FOREIGN TABLE Isik_jsonb (
22isik JSONB )
23SERVER minu_testandmete_server_apex;
24SELECT * FROM Isik_jsonb;
25
26INSERT INTO Isik(riik_kood, isikukood, eesnimi, perenimi,
27e_mail, synni_kp, isiku_seisundi_liik_kood, parool, elukoht)
28SELECT riik_kood, isikukood, eesnimi, perenimi, e_mail,
29synni_kp::date, isiku_seisundi_liik_kood::smallint, parool,
30elukoht
31FROM (SELECT isik->>'riik' AS riik_kood,
32jsonb_array_elements(isik->'isikud')->>'isikukood' AS isikukood,
33jsonb_array_elements(isik->'isikud')->>'eesnimi' AS eesnimi,
34jsonb_array_elements(isik->'isikud')->>'perekonnanimi' AS
35perenimi,
36jsonb_array_elements(isik->'isikud')->>'email' AS e_mail,
37jsonb_array_elements(isik->'isikud')->>'synni_aeg' AS synni_kp,
38jsonb_array_elements(isik->'isikud')->>'seisund' AS
39isiku_seisundi_liik_kood,
40jsonb_array_elements(isik->'isikud')->>'parool' AS parool,
41jsonb_array_elements(isik->'isikud')->>'aadress' AS elukoht
42FROM isik_jsonb) AS lahteandmed
43WHERE isiku_seisundi_liik_kood::smallint=1;