Millal võiks olla kasu baastabeli arvutatud veergudest? Arvutatud veeru puhul arvutatakse väljas olev väärtus teiste samas reas olevate väärtuste puhul ja salvestatakse kettale. PostgreSQLarvutatud veerudgenerated columnsjõudlusoptimeeriminedenormaliseeriminekoondandmed 14.10.2023 11:50:04 | Erki Eessaar
Kuidas katkestada PostgreSQLis SQL lause, mille täitmine võtab liiga kaua aega? Looge uus andmebaasi ühendus. Te võite ülikasutajana ühenduda ka mõne muu andmebaasi külge, kui see, milles töötab liiga kaua täidetav lause.Leidke liiga kaua täidetava lause pid kasutades päringut: PostgreSQLpg_cancel_backendpg_stat_activitypikaajalised päringudsessioonidadministreeriminekatkestamine 10.10.2023 12:02:25 | Erki Eessaar
Mul on sellised ja sellised tabelid ning ma pean nende põhjal lahendama sellise ja sellise andmete otsimise ülesande. Milline oleks selle ülesande kõige parema jõudlusega lahendus? Tuleb korraldada eksperiment ja erinevaid lahendusi katsetada. Kui Teil pole käepärast serverit, kus saate "liivakastis" mängida, siis isegi keskkonnas nagu DB Fiddle PostgreSQLjõudlustestidoptimeerimineEXPLAIN ANALYZEmaterialiseeritud vaatedtestandmedeksperiment 10.10.2023 10:19:50 | Erki Eessaar
Kuidas teha kindlaks, kas PostgreSQL andmebaasisüsteem viib läbi automaatset prügikoristust? Prügikoristus on vajalik, sest PostgreSQL kasutab multiversioon konkurentsjuhtimist (multiversion concurrency control), mis tähendab, et rea lugemine ei takista samal ajal selle sama rea muutmist ning rea muutmine ei takista samal ajal selle... MVCCmultiversioon konkurentsjuhtimineautovacuumPostgreSQLprügikoristusautovacuumstatistikajõudlusMVCC 06.10.2023 12:55:01 | Erki Eessaar
Kuidas oleks termin "paks andmebaas" inglise keeles ja kust selle lähenemise kohta veel infot saaks? Sellise andmebaasi kohta võib ka öelda "jäme andmebaas". Otsetõlge oleks "thick database" või thickDB (sõna "fat" võib tänapäeval äkki kedagi solvata), kuid kasutatakse ka termineid "smart database" või "smartDB". Eesti keeles oleks see "nutikas andm... paks andmebaasjäme andmebaasnutikas andmebaasarukas andmebaasthick databasethickDBsmart databasesmartDBpaks andmebaasnutikas andmebaasOraclePostgreSQLarhitektuurPL/SQL 02.10.2023 10:39:18 | Erki Eessaar
Milliseid täiendusi SQL standardisse tegi SQL:2023 ja millised nendest võimalustest on ka PostgreSQL'is (kuni versioonini 16) olemas? 2023. aastal tuli peale pikka ootamist välja SQL-standardi uus versioon - SQL:2023. Eelmine versioon oli SQL:2016 - nimes on viide aastale. SQL:2023PostgreSQL 16SQL standardJSONANY_VALUEliteraaliduued võimalused 22.09.2023 12:50:51 | Erki Eessaar
Miks mitte kasutada klassifikaatori tabeli, välisvõtme veeru ja sellel oleva välisvõtme kitsenduse asemel loendustüüpi veergu? Sest see: vähendab lahenduse porditavust e ülekantavust, vähendab lahenduse paindlikkust, suurendab keerukust, suurendab PostgreSQL näitel salvestusruumi kasutamist. Kirjutan järgnevalt se... klassifikaatorloendustüüpenumeration typeenumerationreference dataPostgreSQLloendustüüpklassifikaatoridandmebaasi disainporditavus 13.06.2023 19:53:59 | Erki Eessaar
Kas oskate soovitada kirjandust, kust saaks näiteid ja infot kuidas PostgreSQLis objekt-relatsioonilisest tulenevaid võimalusi ära kasutada ning sellega kaasnevaid plusse ja miinuseid (lisaks kasvavale keerukusele)? PostgreSQL on objekt-relatsiooniline andmebaasisüsteem. Kirjutan objekt-relatsioonilisusest SIIN. Muuhulgas on seal ka pikemalt koos koodinäidetega juttu PostgreSQLi objekt-relatsioonilisuse võimalustest. Objekt-relatsi... objekt-relatsioonilinemassiivarrayenumeration typeoperaatorpäriminePostgreSQLobjekt-relatsioonilinepäriminetüübidmassiivid 22.03.2023 20:13:05 | Erki Eessaar
Igal isikul on null või rohkem meiliaadressi. Võib juhtuda, et mitu isikut jagavad ühte ja sama meiliaadressi. Kas selliste andmete hoidmiseks peaks tegema kokku kolm tabelit: meiliaadresside tabeli, isikute tabeli ja meiliaadresside ja isikute vahelist M:N seost esitava vahetabeli? Ma arvan, et ei peaks.Kui andmebaasis oleksid tabelid:Isik (isik_id, ...)Primaarvõti (isik_id)E_meil (e_meil_id, e_meil)Primaarvõti (e_meil_id)Alternatiivvõti (e_meil)Isiku_meiliaadres... andmebaasi disainM:N seos1:N seosnõrk olemitüüpliitvõtiandmete modelleeriminevälisvõti 23.02.2023 15:50:41 | Erki Eessaar
Miks on halb mõte kasutada erinevates tabelites ühesuguse nimega (id, kood või code) primaarvõtme veergu? See muudab keerulisemaks tabelites olevatest andmetest arusaamise ja tabelite põhjal päringute tegemise.Sellise nimega primaarvõtme veerud on üks sümptom, mis viitab sellele, et andmebaasi disainis esineb primaarvõtiveergude nimetamineSQL antimustridandmebaasi disainloetavustabelite ühendamineSQL päringud 16.02.2023 15:43:46 | Erki Eessaar