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:
PostgreSQL andmebaasisüsteemiga ei saa ühendust, sest aktiivsete klientide limiit on täis (too many clients). Milles võib olla põhjus ja kuidas probleemi lahendada?
Vastus: Samaaegselt lubatud Postgresql kasutajate arvu on juba suurendatud 300-ni (vaikimisi arv on 100). Paraku juhtub aeg-ajalt, et ühe või teise serveri kasutaja tegevuse tulemusena genereeritakse nii palju ühendusi, et kogu ühenduste arv saab täis.

PostgreSQL (10.1) korral oli sellisel juhul probleemide allikaks ühes andmebaasis olev riknenud väline tabel ja/või selle loomiseks vajalik laiendus. Selle tabeli põhjal päringut tehes loodi ühe ühenduse asemel nii palju ühendusi, et aktiivsete ühenduste limiit sai täis. Käivitades nimetatud andmebaasis lause:

DROP EXTENSION IF EXISTS postgres_fdw CASCADE;

ning seejärel uuesti ülesandes 5 oleva väliste tabelite loomise koodi, sai väliseid tabeleid probleemideta kasutada. Kui puutute sama probleemiga kokku oma andmebaasis, siis peaksite toimima sarnaselt - kustutage laiendus ja sellest sõltuvad objektid enda andmebaasist ning käivitage ülesande 5 kood uuesti.

Kui põhjus pole Teis, vaid kelleski teises, siis aitab mulle kirja saatmine.

Infoks:

Päringuga (suvalises) andmebaasis:

SELECT * FROM
(SELECT count(*) AS used_connections FROM pg_stat_activity) q1,
(SELECT setting::int AS res_for_super FROM pg_settings WHERE name=$$superuser_reserved_connections$$) q2,
(SELECT setting::int AS max_connections FROM pg_settings WHERE name=$$max_connections$$) q3;


leiate hetkel aktiivsete ühenduste arvu ja ühenduste maksimaalse arvu.

Käsuga 

ps ax | grep post

shelli promptis näete hetkel PostgreSQLiga seotud protsesse. Kui seal mingi matriklinumber palju kordub, siis põhjuseks on just see paljude ühenduste genereerimine.

Samuti palun kõikidel üliõpilastel töö lõppedes psqlist või pgAdminist välja logida, sest nagu eespool kirjas, ei ole samaaegsete ühenduste arv piiramatu ressurss!




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: