Kodulehed
[381] - Andmebaasid II (ITI0207) (sügis 2021)
pinned Kiirvalik Kõige olulisemate tegevuste kiirvalik
Üldist
Materjalid Materjalide kataloogid
Vaated Erinevad väljavõtted kataloogides olevatest materjalidest. Alternatiivsed juurdepääsuteed materjalidele.
Isiklik Info ainult Sulle - teised kasutajad seda ei näe
Abi Võimalus küsida õppejõult abi (nagu foorum, kus saab küsida küsimusi ja kommenteerida vastuseid)
Mitmesugust
Abi / Kasutajatugi / PostgreSQL

Avalikud küsimused ja vastused:
Teemad:

                         
Erki Eessaar:
Käivitan PostgreSQLis funktsiooni, kuid seda ei täideta, sest ei leita funktsioonis viidatud tabelit. Mis on viga ja kuidas seda lahendada?

Näide: Lõin andmebaasis funktsiooni f_on_juhataja

SELECT f_on_juhataja(p_kasutajanimi:='joy.hawkins@geekosis.name', p_parool:='Boss');

ERROR: relation "isik" does not exist

LINE 2: FROM isik INNER JOIN tootaja ON isik.isik_id = tootaja.isik_...

Vastus: Kirjutasite funktsiooni loomise lauses:

SET search_path = 'public, pg_temp'

Tekst, mis on apostroofide e ülakomade vahel, on PostgreSQLi jaoks kokku üks skeemi nimi. PostgreSQL hakkas otsima sellise nimega skeemist tabelit Isik. Kuna sellist skeemi andmebaasis ei ole, siis ei leitud ka tabelit.

Õige on kirjutada otsingutee ilma ülakomadeta:

SET search_path = public, pg_temp

Otsingutee on vajalik, et SECURITY DEFINER funktsioon oleks turvaline.




1.
Erki Eessaar:
2.
Erki Eessaar:
3.
Anonüümne:
4.
Anonüümne:
5.
Erki Eessaar:
6.
Erki Eessaar:
7.
Anonüümne:
8.
Anonüümne:
9.
Anonüümne:
10.
Anonüümne:
11.
Anonüümne:
12.
Erki Eessaar:
13.
Anonüümne:
14.
Anonüümne:
15.
Anonüümne:
16.
Anonüümne:
17.
Erki Eessaar:
18.
Anonüümne:
19.
Erki Eessaar:
20.
Erki Eessaar:
21.
Anonüümne:
22.
Anonüümne:
23.
Anonüümne:
24.
Erki Eessaar: