Kodulehed
[387] - Andmebaasid II (ITI0207) (sügis 2024)
Esiletöstetud Kiirvalik
Lisainfo Kõige olulisemate tegevuste kiirvalik. Failide saatmiseks valige Vastamine alt sobiv ülesanne.
Üldist
Materjalid
LisainfoMaterjalide kataloogid.
Värvilised mummud tähistavad hinnangulist kataloogide lugemise vajadust. Roheline - suurim, kollane - keskmine, punane või mummuta - väikseim
Isiklik
Lisainfo Info ainult Sulle - teised kasutajad seda ei näe
Abi
Lisainfo 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:

Küsimuste teemade nimekiri

Anonüümne (20.11.2023 13:12):
Üritan PgAdminis käivitada PostgreSQL andmebaasi vastu SQL skripti, mis sisaldab VACUUM lauseid ja saan veateate: "ERROR: VACUUM cannot run inside a transaction block". Mida teha?
Vastus (20.11.2023 13:33): Kui käivitate PgAdminis Query Tool akna kaudu skripti, kus on rohkem kui üks SQL lause, siis paneb PgAdmin need laused automaatselt transaktsiooni e tehingu plokki.

Seega, kui käivitan andmebaasis PgAdmin kaudu laused:

VACUUM FULL emp;
VACUUM FULL dept;

, siis tegelikult täidetakse

START TRANSACTION;
VACUUM FULL emp;
VACUUM FULL dept;
COMMIT;

Võimalikud lahendused:
  • käivitada kõik need laused psqlis (saab teha ka PgAdmin kaudu, valides Tools=>PSQL Tool),
    • psql neid lauseid omast peast transaktsiooni plokki ei pane,
  • käivitada need laused PgAdminis ükshaaval (siis neid ei panda transaktsiooni plokki),
    • selleks võib päringu aknas lause valida(selekteerida) ja siis vajutada käivitamise nupule või klahvile F5.

Hinda vastust:

Keskmine hinne : Pole veel hinnanguid!