Kumb on parem - kas trigeri käivitamise piiramine WHEN klausli abil või IF lausete kasutamine trigeri funktsioonis? Kõigepealt käsitlen jõudluse aspekti. PostgreSQL 18 (ja ka varasemate versioonide) puhul on teooria selline: WHEN klausel: Kontroll toimub enne trigeri protseduuri (funktsiooni) väljakutsumist. Kui tingimus on v... PostgreSQLtrigerWHEN klauselIF lausePL/pgSQLpgbenchjõudlushallatavusGemini 01.12.2025 14:44:40 | Erki Eessaar
Kui kontseptuaalses andmemudelis on üldistusseosed, siis kas neid võiks PostgreSQL andmebaasis realiseerida kasutades tabelite pärimist? See pole soovitav pärimise kaudu tabelite loomise tehniliste piirangute tõttu. Vaatame näidet. Iga isik on mingis täpselt ühes seisundis. Isik võib olla klient või töötaja. Võib olla isikuid, kes on nii klient kui ... PostgreSQLINHERITSpärimineüldistusseosedobjekt-relatsiooniline 22.11.2025 17:25:56 | Erki Eessaar
Millal kasutada andmebaasis EAV disaini või JSONB tüüpi veergu? Analüüsime konkreetset näidet.Kontekst: Tegemist on PostgreSQL andmebaasiga, kus muuhulgas hakatakse hoidma andmeid keelemudelite kohta. See andmebaas on osa süsteemist, mis võimaldab teha andmebaaside suhtes eestikeelse... universaalne disainEAVJSONJSONBPostgreSQLandmebaasi disainEAVJSONBPostgreSQLpaindlikkusjõudlus 17.11.2025 11:28:32 | Erki Eessaar
Kas oleks võimalik (peaaegu) kogu andmebaasirakendus luua PostgreSQL baasil? Veidi provokatsioonilise pealkirjaga video: I replaced my entire tech stack with Postgres...Lühikokkuvõte mainitud vahenditest, millest palju... PostgreSQLtehnoloogiapinuJSONBpgvectorpg_cronpgApexPostgRESTveebirakendusedCYPEXPostgRESTpgvectorpgcryptoJSONBpg_cron 08.11.2025 15:53:09 | Erki Eessaar
Kas PostgreSQL andmebaasi tabelile EXCLUDE kitsenduse lisamine võib muuta mõne selle tabeli UNIQUE kitsenduse üleliigseks? Oletame, et PostgreSQL andmebaasis on tabel: Tootaja_projektis_osalemine (tootaja_projektis_id, alg_aeg, lopp_aeg, projekt_id, tootaja_id, roll_kood) Primaarvõti (tootaja_projektis_id) kitsenduspiirangconstraintexclusionduplikaatdubleerimineindeksPostgreSQLkitsendusedEXCLUDEUNIQUEdubleerimineoptimeerimine 01.11.2025 10:19:16 | Erki Eessaar
Kuidas saab kasutada suuri keelemudeleid olemasolevast andmebaasist paremini arusaamiseks? Suuri keelemudeleid saab näiteks kasutada selleks, et klasterdada uuritava, enda jaoks tundmatu, andmebaasi tabeleid ja jaotada need registritesse. Selle eelduseks on, et andmebaasis on deklareeritud välisvõtme kitsendused, sest niimoodi on andmebaas... suur keelemudelLLMAITItehisintellektviippromptGoogle Geminivälisvõtivõõrvõtivälisvõtme kitsendusforeign keyreferential constraintloogiline varukoopiapg_dump 09.10.2025 23:39:52 | Erki Eessaar
Kuidas katsetada SQLis päringuid ilma, et mul oleks tabeleid, mille põhjal seda teha? Kasutades lauses ühiseid tabeli avaldisi (common table expression) on võimalik päringu kontekstis koostada tabel, mille põhjal päringut täita.Näide: Oletame, et ma tahan teada, kas tingimus pikkus NOT IN (1... cteühine tabeli avaldistestimineVALUESDB Fiddlevirtuaalne tabelSQL 13.06.2025 14:22:48 | Erki Eessaar
Kuidas andmebaasisüsteemid andmebaasiserveris talletatud rutiine täidavad? Erinevates andmebaasisüsteemides käib see erinevalt.PostgreSQLis saab rutiinide kirjutamiseks kasutada lisaks C ja SQL keeltele veel keeli. Neid teisi keeli nimetatakse protseduurilisteks keelteks (PL). Kõige populaarsem nendest on PL/pgS... rutiinidtäitmisplaankompileeriminePostgreSQLOraclePL/pgSQLPL/SQL 01.03.2025 10:55:15 | Erki Eessaar
Kas Teil on nõuandeid, kuidas luua andmebaasirakendust kasutades suuri keelemudeleid? Allpool on esitatud näited andmebaasirakendustest, mis on loodud kasutades suuri keelemudeleid. Lisaks andmebaasirakendusele loodi vastuvõtuaegade näite puhul suure keelemudeli abil ka andmebaasi avaliku liidese elemendid (vaated ja funktsioonid), mi... AITIpromptviipgeneratiivne tehisintellektLLMsuur keelemudelvibe codingGrokDeepSeek 24.02.2025 09:32:19 | Erki Eessaar
Mis probleem on (PostgreSQL näitel) veeru deklaratsiooniga: registr_aeg TIMESTAMP NOT NULL DEFAULT LOCALTIMESTAMP(0) SELECT LOCALTIMESTAMP; Tagastab hetke kuupäeva, kellaaja ja sekundi murdosad kuue koha täpsusega. Funktsiooni väljakutses saab määrata, kui täpselt või kas üldse sekundi murdosasid... PostgreSQLTIMESTAMPLOCALTIMESTAMPandmekvaliteetandmetüübidsekundi murdosadvaikeväärtus 21.02.2025 09:18:07 | Erki Eessaar