„PostgreSQL“

„PostgreSQL“ DUK

„PostgreSQL“ DUK
Remiantis „StackOverflow“ 2020 m. Metine kūrėjų apklausa, „PostgreSQL“ yra antra populiariausia turima duomenų bazių valdymo sistema, ir tai nėra be pagrindo. Nuo pat pirmojo išleidimo 1996 m. „PostgreSQL“ arba „Postgres“ gerokai patobulėjo, įtraukdami keletą naudingų funkcijų, įskaitant vartotojo apibrėžtus tipus, lentelių paveldėjimą, kelių versijų lygiagretumo valdymą ir kt.

„PostgreSQL“ taip pat yra labai lengvas, lengvai nustatomas ir gali būti įdiegtas keliose platformose, tokiose kaip konteineriai, VM ar fizinės sistemos. Be numatytosios GUI „pgAdmin“, „Postgres“ taip pat palaiko daugiau kaip 50 kitų IDE, iš kurių trečdalis yra laisvai naudojami. Šis straipsnis apims keletą dažniausiai užduodamų klausimų (DUK) apie „PostgreSQL“.

Ar „PostgreSQL“ yra nemokama?

„PostgreSQL“ yra nemokamas produktas, kuris buvo išleistas pagal OSI patvirtintą „PostgreSQL“ licenciją. Tai reiškia, kad už „PostgreSQL“ naudojimą net komerciniais tikslais nereikia mokėti, nors yra keletas trečiųjų šalių plėtinių ir paslaugų, kuriems reikalingas abonentinis arba vienkartinis mokestis.

Yra „PostgreSQL“ atvirojo kodo?

Taip, „PostgreSQL“ yra atviro kodo. „PostgreSQL“ prasidėjo kaip Berkeley universiteto projektas 1986 m. Ir buvo paskelbtas viešai 1996 m. Liepos 8 d. Kaip nemokama ir atviro kodo reliacinių duomenų bazių valdymo sistema.

Ar „PostgreSQL“ skiriama didžiosiomis ir mažosiomis raidėmis?

Pagal numatytuosius nustatymus „PostgreSQL“ skiria didžiosios ir mažosios raidės, tačiau tam tikrose situacijose tai gali būti neskiriama didžiosioms ir mažosioms raidėms. Pvz., Kuriant lentelę sistemoje „PostgreSQL“, stulpelių ir lentelių pavadinimai automatiškai konvertuojami į mažąsias raides, kad jie nebūtų nejautrūs. Tas pats daroma ir su užklausomis; tokiu būdu jie atitinka jau konvertuotus stulpelių ir lentelių pavadinimus.

Atminkite, kad naudojant stulpelio ar lentelės pavadinimo kabutes, pvz., „Suma“, konversija neįvyksta. Jūs taip pat turėsite naudoti kabutes savo užklausose, kad „PostgreSQL“ nekeistų užklausų į mažąsias. Taip pat galite padaryti stulpelių reikšmes neskiriant didžiųjų ir mažųjų raidžių, naudojant „PostgreSQL“ specifinį raktinį žodį CITEXT kuriant stulpelius. Šis raktinis žodis taip pat leidžia stulpelį, deklaruojamą kaip UNIKALUS arba PAGRINDINIS RAKTAS neskirti didžiųjų ir mažųjų raidžių.

Ar „PostgreSQL“ yra santykinis?

„PostgreSQL“ iš pradžių buvo sukurta kaip reliacinė duomenų bazių valdymo sistema. Nuo to laiko jis gerokai išaugo už savo pirminio dizaino, nes „PostgreSQL“ dabar palaiko kai kurias „NoSQL“ galimybes, pavyzdžiui, duomenų saugojimą ir nuskaitymą JSON (JSONB) bei raktų ir verčių poras (HSTORE). Skirtingai nuo daugelio tik „NoSQL“ duomenų bazių, „PostgreSQL“ NoSQL galimybės yra suderinamos su rūgštimi ir gali būti susietos su SQL, kaip ir bet kuris kitas duomenų tipas, palaikomas „PostgreSQL“.

Kodėl turėčiau naudoti „PostgreSQL“?

Prieš pasirinkdami to produkto duomenų bazių valdymo sistemą, turite suprasti savo produkto poreikius. Paprastai šis pasirinkimas priklauso nuo to, ar naudoti reliacinę DBVS, ar „NoSQL“ duomenų bazę. Jei turite reikalų su struktūrizuotais ir nuspėjamais duomenimis, kai statinis vartotojų ar programų skaičius pasiekia sistemą, apsvarstykite galimybę sukurti reliacinę duomenų bazę, pvz., „PostgreSQL“.

Be to, kad pasirinkote „PostgreSQL“, nes tai yra RDBMS, yra keletas kitų šios duomenų bazės valdymo sistemos savybių, dėl kurių ji yra viena iš populiariausių šiandien prieinamų sistemų. Kai kurios iš šių funkcijų apima:

Ir dar daugiau. Čia galite pamatyti visą „PostgreSQL“ siūlomų funkcijų sąrašą.

„PostgreSQL“ ir „MySQL“: ar „PostgreSQL“ yra geresnė nei „MySQL“?

„MySQL“ yra populiariausia šiandien prieinama duomenų bazių valdymo sistema. Jis yra lengvas, lengvai suprantamas ir sukonfigūruojamas bei labai greitas, ypač kai naudojamasi tik tuo pačiu metu skaitomomis funkcijomis. Lengvas „MySQL“ naudojimas leidžia lengviau rasti šios duomenų bazės valdymo sistemos duomenų bazių administratorius.

Tai pasakius, „MySQL“ trūksta kelių funkcijų, kurias teikia „PostgreSQL“ duomenų bazės. Pirmiausia „PostgreSQL“ yra ne tik reliacinių duomenų bazių valdymo sistema, bet ir objektų-reliacijų duomenų bazių valdymo sistema. Tai reiškia, kad „PostgreSQL“ palaiko unikalias funkcijas, tokias kaip lentelių paveldėjimas ir funkcijų perkrova.

Tai geriau veikia sprendžiant sudėtingas užklausas esant dideliam krūviui. Tačiau jis sulėtėja, kai atliekamos tik skaitymo operacijos.

„PostgreSQL“ taip pat yra platesnis galimų duomenų tipų asortimentas, kuris leidžia jums sukurti pasirinktinius duomenų bazės duomenų tipus. Bene didžiausias pranašumas prieš „MySQL“ yra „PostgreSQL“ išplėtimas. Galite sukurti „PostgreSQL“ plėtinius, kad atitiktų jūsų naudojimo atvejus.

Daugeliu atvejų „PostgreSQL“ yra geresnė DBVS nei „MySQL“. Bet galų gale viskas priklauso nuo jūsų naudojimo atvejo. Jei kuriate paprastą svetainę ar žiniatinklio programą ir jums reikia tik saugoti duomenis, geriau naudoti „MySQL“. Bet jei susiduriate su sudėtingesnėmis, didelės apimties operacijomis, apsvarstykite galimybę naudotis „PostgreSQL“.

„PostgreSQL“ ir „MongoDB“: ar „PostgreSQL“ yra geresnė nei „MongoDB“?

„PostgreSQL“ ir „MongoDB“ palyginimas yra tiesiog reliacinių duomenų bazių valdymo sistemų ir „NoSQL“ duomenų bazių palyginimas. Kuris yra geresnis atsakymas, priklauso nuo jūsų naudojimo atvejo; kaip norite naudoti ir struktūrizuoti savo duomenis. Kiekvienoje DBVS yra savybių, kurios yra naudingos skirtingose ​​situacijose.

Jei kuriate programą su nenuspėjama ir dinamiška duomenų struktūra, norėsite pasirinkti „NoSQL“ duomenų bazę, pvz., „MongoDB“. „NoSQL“ duomenų bazių valdymo sistemos yra žinomos dėl savo schemų neturinčių duomenų bazių, o tai reiškia, kad kuriant nereikia nurodyti duomenų bazės struktūros. Tai daro „NoSQL“ duomenų bazes labai lanksčias ir lengvai keičiamas.

„PostgreSQL“ geriau tinka, jei dirbate su fiksuotos, statinės struktūros duomenimis, kurie keičiasi retai. „PostgreSQL“ taip pat turi SQL, galingos ir nusistovėjusios užklausų kalbos, pranašumą. Reliacinės duomenų bazių valdymo sistemos labiau tinka programoms, kurioms reikalingas referencinis vientisumas, pvz., „Fintech“ programoms.

Pastaraisiais metais abu DBVS tipai perėmė pagrindines kitų savybes. Pavyzdžiui, kaip paaiškinta aukščiau, „PostgreSQL“ palaiko pagrindinių reikšmių poras ir JSON duomenų tipus, pagrindines „NoSQL“ duomenų bazių valdymo sistemų (DBVS) ypatybes. „MongoDB“ dabar teigia, kad jis atitinka ACID, pagrindinis reliacinių duomenų bazių valdymo sistemų (RBDMS) bruožas.

Tačiau nė viena funkcija neveikia taip, kaip originaliame DBMS tipe, kuris ją palaiko. Pavyzdžiui, pagal šį straipsnį „MongoDB“ vis dar turi keletą problemų, susijusių su ACID laikymusi. Be to, nors „PostgreSQL“ palaiko JSON duomenų tipus ir raktų-reikšmių poras, ši sistema nėra be schemos. Kurdami vis tiek turite deklaruoti struktūrą.

PostgreSQL: kaip prisijungti prie duomenų bazių serverio

Prieš prisijungdami prie duomenų bazės įsitikinkite, kad atsisiuntėte ir įdiegėte „PostgreSQL“ į savo operacinę sistemą. Tada paleiskite psql taikymas. Tai atveria specialią komandinės eilutės sąsajos programą, skirtą sąveikai su „PostgreSQL“ duomenų bazės serveriu.

Paleidus serverį, jūsų bus paprašyta paeiliui užpildyti šiuos laukus: serveris, duomenų bazė, prievadas, vartotojo vardas ir slaptažodis. Spustelėdami galite išsaugoti numatytąsias parinktis, kurios buvo nustatytos diegiant „PostgreSQL“ Įveskite kiekvienai užklausai.

Kai pateksite į slaptažodžio įvesties lauką, įveskite slaptažodį, kurį nustatėte diegdami „postgres“ vartotojui. Kai tai bus padaryta ir jūsų tapatybė bus sėkmingai patvirtinta, būsite prisijungę prie duomenų bazės serverio.

Kitas būdas prisijungti prie duomenų bazės yra pgAdmin. pgAdmin yra „PostgreSQL“ sąsaja su duomenų bazių serveriais. Naudoti pgAdmin, paleiskite programą. Tai turėtų atidaryti žiniatinklio programą jūsų naršyklėje. Dešiniuoju pelės mygtuku spustelėkite Serveriai viršutiniame kairiajame žiniatinklio programos kampe, tada užveskite pelės žymeklį virš Kurti ir pasirinkite Serveris .. iš pasirodžiusio meniu.

Taip pat galite spustelėti Pridėti naują serverį pagal Greitos nuorodos. Kad ir kurią parinktį pasirinktumėte, dabar turėtumėte pamatyti dialogo langą, kuriame prašoma informacijos.

Įveskite serverio pavadinimą, tada eikite į Ryšys skirtuką. Pagal Ryšys skirtuką, įveskite „localhost“ kaip savo Pagrindinio kompiuterio pavadinimas / adresas, tada įveskite postgres vartotojo slaptažodis, kuris buvo nustatytas diegiant. Spustelėkite Sutaupyti išsaugoti serverį. Dialogo langas bus uždarytas ir jūs būsite automatiškai prisijungę prie duomenų bazės serverio.

Kur saugomos „PostgreSQL“ duomenų bazės?

Pagal numatytuosius nustatymus „PostgreSQL“ duomenų bazės yra saugomos duomenis aplanką, tačiau šio aplanko vieta skiriasi priklausomai nuo OS. „Windows“ sistemoje jį paprastai rasite bet kurioje iš šių vietų: C: \ Program Files (x86) \ PostgreSQL \\ duomenys arba C: \ Program Files \ PostgreSQL \\ duomenys.

„Mac“ sistemoje, jei „PostgreSQL“ įdiegėte naudodami „homebrew“, ją rasite / usr / local / var / postgres / data. Priešingu atveju jis bus įsikūręs / Biblioteka / PostgreSQL // duomenys.

„Linux“ vieta skiriasi priklausomai nuo „Linux“ skonio. Kartais tai randama / usr / local / pgsql / data arba / var / lib / postgresql / [versija] / duomenys.

Norėdami tiksliau nustatyti duomenų bazių vietą, įveskite šią komandą psql:

RODYTI duomenų katalogą;

PostgreSQL: kaip paleisti duomenų bazių serverį

„PostgreSQL“ serverio paleidimas kiekvienai operacinei sistemai yra šiek tiek kitoks. Norėdami paleisti serverį sistemoje „Windows“, pirmiausia raskite duomenų bazės katalogą. Paprastai tai yra kažkas panašaus į „C: \ Program Files \ PostgreSQL \ 10.4 \ duomenys.Nukopijuokite katalogo kelią, nes jums jo prireiks per akimirką. Tada paleiskite Komandinė eilutė ir paleiskite šią komandą.

Pg_ctl -D "C: \ Program Files \ PostgreSQL \ 13 \ data" prasideda

Kelias turėtų būti jūsų nukopijuotas duomenų bazės katalogo kelias. Norėdami sustabdyti serverį, pirmiau pateiktoje komandoje tiesiog pakeiskite „start“ į „stop“. Taip pat galite jį paleisti iš naujo, pakeisdami „start“ į „restart“.

Kai bandote paleisti šią komandą, galite gauti šią klaidą: „Pg_ctl nėra atpažįstama kaip vidinė ar išorinė komanda. Norėdami išspręsti šią problemą, pridėkite „C: \ Program Files \ PostgreSQL \ 9.5 \ bin “ir„ C: \ Program Files \ PostgreSQL \ 9.5 \ lib “į jūsų sistemos PATH aplinkos kintamąjį.

Jei naudojate „MacOS“, jei „PostgreSQL“ įdiegėte naudodami „homebrew“, naudokite šias komandas:

Norėdami rankiniu būdu paleisti duomenų bazės serverį, vykdykite šią komandą:

prasideda pg_ctl -D / usr / local / var / postgres

Įsitikinkite, kad katalogo kelias yra jūsų duomenų bazės kelias.

Norėdami paleisti duomenų bazės serverį dabar ir paleisti iš naujo prisijungdami, vykdykite šią komandą:

aludarystės paslaugos prasideda postgresql

Norėdami sustabdyti serverį abiem atvejais, tiesiog pakeiskite „start“ į „stop“.“

"Linux" sistemoje, prieš paleidžiant duomenų bazės serverį, pirmiausia turite nustatyti postgres Vartotojas. Diegiant slaptažodis pagal numatytuosius nustatymus nenustatytas. Slaptažodį galite nustatyti naudodami šią komandą:

sudo -u postgres psql -c "KITAS VARTOTOJO postgres PASSWORD 'postgres';"

Žinoma, jūsų slaptažodis gali būti bet koks, kurį pasirenkate. Nustačius slaptažodį, norėdami paleisti serverį, įveskite šią komandą terminale:

sudo paslaugos postgresql pradžia

Norėdami sustabdyti serverį, komandoje pakeiskite „start“ į „stop“, kaip ir „Windows“ bei „macOS“.

PostgreSQL: Kaip sukurti duomenų bazę

Norėdami sukurti duomenų bazę, įsitikinkite, kad jau esate prisijungę prie duomenų bazės serverio. Norėdami tai padaryti, vadovaukitės aukščiau pateiktomis instrukcijomis. Jei prisijungėte prie serverio per psql, įveskite šią komandą, kad sukurtumėte duomenų bazę:

Sukurti duomenų bazę new_database;

Jei norite prisijungti prie neseniai sukurtos duomenų bazės, įveskite šią komandą:

\ c nauja_duomenų bazė

Dabar turėtumėte prisijungti prie jo.

Jei prisijungėte prie serverio per „pgAdmin“, žiniatinklio programoje dešiniuoju pelės mygtuku spustelėkite Duomenų bazės, užveskite pelės žymeklį virš Kurti, ir pasirinkite Duomenų bazė ..

Turėtumėte pamatyti dialogo langą, kuriame prašoma tam tikros informacijos sukurti duomenų bazę. Norėdami sukurti duomenų bazę, turėsite įvesti bent jau duomenų bazės pavadinimą. Įveskite vardą Duomenų bazė lauką ir spustelėkite Sutaupyti. Dabar turėtumėte matyti savo neseniai sukurtą duomenų bazę Duomenų bazės.

Kur yra „PostgreSQL“ žurnalai?

Pagal numatytuosius nustatymus „PostgreSQL“ žurnalai saugomi žurnalas aplankas po duomenis aplankas, numatytoji „PostgreSQL“ duomenų bazių vieta. Norėdami tai patvirtinti, paleiskite šią komandą psql:

RODYTI žurnalo katalogą;

Atminkite, kad ši komanda parodys tik santykinį kelią, tačiau kelias turėtų būti duomenis aplanką.

Ar „PostgreSQL“ turi saugomas procedūras??

Nors „PostgreSQL“ visada palaikė vartotojo apibrėžtas funkcijas, tik iki jos versijos 11.0 išleido, kad jame buvo palaikomos saugomos procedūros. Norėdami sukurti saugomą procedūrą „PostgreSQL“, naudokite SUKURTI PROCEDŪRĄ pareiškimas. Norėdami atlikti išsaugotą procedūrą, naudokite SKAMBINKITE pareiškimas.

Išvada

„PostgreSQL“ aktyviai tobulėjo daugiau nei 30 metų, nes buvo sukurta devintajame dešimtmetyje. Per šį laiką „PostgreSQL“ gerokai subrendo ir šiuo metu tai yra antra pagal populiarumą duomenų bazių valdymo sistema pasaulyje, rodo „StackOverflow“ 2020 m. Metinė kūrėjų apklausa.

Dvi pagrindinės „PostgreSQL“ populiarumo priežastys yra jo išplėtimas ir begalė naudingų funkcijų, kurias gali naudoti vartotojai. Jei savo projektui pasirenkate DBVS ir nusprendėte, kad pirmenybę teikiate RDBVS, o ne „NoSQL“ duomenų bazei, „PostgreSQL“ būtų puikus pasirinkimas jūsų programai.

Geriausios „Linux“ skirtos „Gamepad“ žemėlapių sudarymo programos
Jei jums patinka žaisti žaidimus „Linux“ su žaidimų pultu, o ne įprasta klaviatūra ir pelės įvesties sistema, yra keletas jums naudingų programų. Daug...
Naudingi įrankiai „Linux“ žaidėjams
Jei jums patinka žaisti žaidimus „Linux“ sistemoje, yra tikimybė, kad galbūt naudojote tokias programas ir įrankius kaip „Wine“, „Lutris“ ir „OBS Stud...
„HD Remastered“ žaidimai, skirti „Linux“, kurie niekada anksčiau nebuvo išleisti „Linux“
Daugelis žaidimų kūrėjų ir leidėjų siūlo senų žaidimų HD remasterį, kad prailgintų franšizės laiką. Prašome gerbėjų, prašančių suderinamumo su šiuolai...