{"id":93878,"date":"2020-09-10T19:42:02","date_gmt":"2020-09-10T17:42:02","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/kak-vpisat-svobodnuyu-postgresql-v-surovoe-enterprise-okruzhenie"},"modified":"2020-09-10T19:42:02","modified_gmt":"2020-09-10T17:42:02","slug":"kak-vpisat-svobodnuyu-postgresql-v-surovoe-enterprise-okruzhenie","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/kak-vpisat-svobodnuyu-postgresql-v-surovoe-enterprise-okruzhenie","title":{"rendered":"Kuidas integreerida \u00abvaba\u00bb PostgreSQL karmidesse ettev\u00f5tte keskkondadesse","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Paljuski tunnevad PostgreSQL andmebaasi, ja see on end v\u00e4ikestes paigaldustes suurep\u00e4raselt t\u00f5estanud. Siiski on \u00fcleminek avatud l\u00e4htekoodile saanud aina selgemaks suundumuseks, isegi suurte ettev\u00f5tete ja ettev\u00f5tlusn\u00f5uete puhul. Selles artiklis r\u00e4\u00e4gime, kuidas integreerida Postgres ettev\u00f5tte keskkonda, ning jagame oma kogemusi varunduss\u00fcsteemi (VKS) loomisel selle andmebaasi jaoks Commvaulti varunduss\u00fcsteemi n\u00e4itel. <\/p>\n<p><img decoding=\"async\" alt=\"Kuidas integreerida \u00abvaba\u00bb PostgreSQL karmidesse ettev\u00f5tte keskkondadesse\" src=\"\/wp-content\/uploads\/2020\/09\/054cb60090c1b6df6da0010c5ba35f8b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nPostgreSQL on juba t\u00f5estanud oma usaldusv\u00e4\u00e4rsust \u2014 andmebaas t\u00f6\u00f6tab suurep\u00e4raselt, seda kasutavad trendikad digitaalsed ettev\u00f5tted nagu Alibaba ja TripAdvisor, ning litsentsitasude puudumine teeb selle ahvatlevaks alternatiiviks sellistele hiidudele nagu MS SQL v\u00f5i Oracle DB. Kuid niipea, kui hakkame m\u00f5tlema PostgreSQL-le ettev\u00f5tlusmaastikul, puutume kokku rangete n\u00f5udmistega: 'Kuidas on lood konfiguratsiooni talitlush\u00e4irete ja katastroofitaluvuse, p\u00f5hjaliku j\u00e4lgimise, automatiseeritud varundamise ning lintteekide kasutamisega, nii otse kui ka sekundaarse salvestusena?'<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n<img decoding=\"async\" alt=\"Kuidas integreerida \u00abvaba\u00bb PostgreSQL karmidesse ettev\u00f5tte keskkondadesse\" src=\"\/wp-content\/uploads\/2020\/09\/9b7e3d88c6e5488e1684239b546deb1b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n\u00dchelt poolt ei ole PostgreSQL-il sisseehitatud varundamise vahendeid nagu Oracle DB v\u00f5i SAP Database Backup'i k\u00fcpsed DBMS-id, nagu RMAN. Teiselt poolt toetavad ettev\u00f5tte varunduss\u00fcsteemide pakkujad (Veeam, Veritas, Commvault) k\u00fcll PostgreSQL-i, kuid tegelikult t\u00f6\u00f6tavad nad vaid kindlate (tavaliselt standalone) konfiguratsioonide ja erinevate piirangute komplektiga. <\/p>\n<p>Spetsiaalselt PostgreSQL-i jaoks loodud varunduss\u00fcsteemid, nagu Barman, Wal-g, pg_probackup, on \u00e4\u00e4rmiselt populaarsed v\u00e4ikestes PostgreSQL-i andmebaasi paigaldustes v\u00f5i seal, kus ei ole vaja keerulisi varukoopiaid teiste IT-maastiku elementide suhtes. N\u00e4iteks v\u00f5ivad infrastruktuuris olla f\u00fc\u00fcsilised ja virtuaalsed <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/et\/server\/\"   title=\"serverid\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1900\">serverid<\/a>, OpenShift, Oracle, MariaDB, Cassandra jne. K\u00f5ike seda on soovitatav varundada \u00fchtse t\u00f6\u00f6riistaga. Eraldi lahenduse paigaldamine ainult PostgreSQL-ile on eba\u00f5nnestunud idee: andmed kopeeritakse kuskile kettale ja siis tuleb need lindile viia. Selline kahekordne varundamine pikendab varundamise aega ja mis veelgi kriitilisem \u2014 taastamist.<\/p>\n<p>Enterprise lahenduses toimub installatsioonide varundamine teatud arvude eraldi klastrite nodidega. N\u00e4iteks Commvault suudab t\u00f6\u00f6tada ainult kahe nodiga klastriga, kus Primary ja Secondary on kindlalt seotud kindlate nodidega. Ja varundamine on m\u00f5istlik ainult Primary kaudu, sest Secondaryst varundamine toob kaasa omad piirangud. Due to DBMS features, a dump is not created on Secondary, leaving only the option for file backup.<\/p>\n<p>Kuna seisakute riske tuleb v\u00e4hendada, luuakse vea- ja katkestustaluv s\u00fcsteem, milles moodustatakse \"elav\" klastrikonfiguratsioon ja Primary v\u00f5ib j\u00e4rk-j\u00e4rgult migreeruda erinevate serverite vahel. N\u00e4iteks k\u00e4ivitab tarkvara Patroni ise Primary uue juhuslikult valitud nodi klastris. SRC-l puuduvad vahendid selle j\u00e4lgimiseks \"kastist v\u00e4lja\" ja kui konfiguratsioon muutub, siis protsessid lagunevad. Seega v\u00e4line juhtimise rakendamine takistab SRK efektiivset t\u00f6\u00f6d, kuna juhtimisserver ei saa lihtsalt aru, kust ja milliseid andmeid on vaja kopeerida.<\/p>\n<p>Veel probleem on PostgreSQL-i varundamine. See on v\u00f5imalik dump'i kaudu ja v\u00e4ikeste andmebaaside puhul toimib see. Kuid suurte andmebaaside puhul on dumpimine aegan\u00f5udev, n\u00f5uab palju ressursse ja v\u00f5ib p\u00f5hjustada andmebaasi eksemplari kokkuvarisemise.<\/p>\n<p>Faili varukoopia parandab olukorda, kuid suurte andmebaaside puhul toimub see aeglaselt, kuna see t\u00f6\u00f6tab \u00fchesuunalises re\u017eiimis. Lisaks on vendoritel terve rida t\u00e4iendavaid piiranguid. M\u00f5nikord ei saa \u00fcheaegselt kasutada faili ja dump varukoopiates, m\u00f5nikord pole deduplikatsioon toetatud. Probleeme on palju ja tihti on lihtsam valida kallim, kuid usaldusv\u00e4\u00e4rne andmebaas PostgreSQL-i asemel.<\/p>\n<h2>Tagasi pole minna! Moskva arendajad on seljataga!<\/h2>\n<p>\nKuid hiljuti seisis meie meeskond keerulise v\u00e4ljakutse ees: OSAGO 2.0 AIS-i loomise projektis, kus me t\u00f6\u00f6tasime IT-infrastruktuuri, valisid arendajad uue s\u00fcsteemi jaoks PostgreSQL-i. <\/p>\n<p>Suurte tarkvaraarendajate jaoks on palju lihtsam kasutada \"moes\" avatud l\u00e4htekoodiga lahendusi. Facebooki t\u00f6\u00f6tajate seas on piisavalt spetsialiste, kes toetavad selle andmebaasi toimimist. Kuid RSC puhul langesid k\u00f5ik \u201eteise p\u00e4eva\u201d \u00fclesanded meie \u00f5lgadele. Meilt n\u00f5uti, et tagame veakindluse, kogume klusteri ja loomulikult korraldame varundamise. Meie tegevuse loogika oli j\u00e4rgmine: <\/p>\n<ul>\n<li>\u00d5petada SRK-d tegema varukoopiaid klaseeri Primaarse s\u00f5lme kaudu. Selleks peab SRK seda leidma \u2014 t\u00e4hendab, et on vajalik integratsioon PostgresSQL klastrihalduse lahendusega. RSC puhul kasutati selleks tarkvara Patroni.<\/li>\n<li>M\u00e4\u00e4rata varukoopia t\u00fc\u00fcp, l\u00e4htudes andmete mahust ja taastamise n\u00f5uetest. N\u00e4iteks kui on vaja taastada lehti granulaarselt, kasutada dumpingut, ja kui andmebaasid on suured ning granulaarselt taastamist ei n\u00f5uta \u2014 t\u00f6\u00f6tada failitasemel.<\/li>\n<li>Lisada lahendusele v\u00f5imalus bloki varundamiseks, et luua varukoopiaid mitme l\u00f5ime re\u017eiimis.<\/li>\n<\/ul>\n<p>\nEsmalt oleme seadnud eesm\u00e4rgi luua t\u00f5hus ja lihtne s\u00fcsteem, ilma \u00fcleliigsete komponentide monstrinoosse n\u00f6\u00f6rimiseta. Mida v\u00e4hem p\u00fc\u00fcniseid, seda v\u00e4iksem on t\u00f6\u00f6tajate koormus ja madalam on s\u00fcsteemi rikke risk. L\u00e4henemised, kus kasutati Veeam'i ja RMAN'i, j\u00e4tsime kohe v\u00e4lja, sest kahe lahenduse komplekt viitab juba s\u00fcsteemi usaldamatusele.<\/p>\n<h2>Veidi maagilist ettev\u00f5tete jaoks<\/h2>\n<p>\nNii et me pidime tagama usaldusv\u00e4\u00e4rse varundamise 10 klastrile, kus igas on 3 s\u00f5lme, samal ajal on varundusandmete keskuses peegelduvad samasugused infrastruktuurid. Andmekeskustes t\u00f6\u00f6tavad PostgreSQL aktiiv-passiiv p\u00f5him\u00f5ttel. Andmebaaside kogumaht oli 50 TB. Igast selle \u00fclesandega toimetab mistahes taseme ettev\u00f5tte varunduss\u00fcsteem. Kuid n\u00fcanss on selles, et algselt ei ole Postgres'is t\u00e4ielik ja s\u00fcvitsiminev \u00fchilduvus varunduss\u00fcsteemidega. Seega pidime otsima lahendust, millel on algselt maksimaalne funktsionaalsus koos PostgreSQL'iga, ja s\u00fcsteemi t\u00e4iustama. <\/p>\n<p>Vi korraldasime kolm sisemist \"hackathon\"-i \u2014 vaatlesime \u00fcle rohkem kui pooled tutvustatud lahendused, testisime neid, tegime muudatusi vastavalt oma h\u00fcpoteesidele ja kontrollisime uuesti. Anal\u00fc\u00fcsides k\u00f5iki saadaval olevaid v\u00f5imalusi, valisime Commvaulti. Toode suutis juba \"karbist v\u00e4lja\" t\u00f6\u00f6tada k\u00f5ige lihtsama PostgreSQL klastrite installatsiooni, ja selle avatud arhitektuur andis lootust (mis osutus \u00f5igeks) eduka t\u00e4iendamise ja integreerimise osas. Commvault suudab ka PostgreSQL logide varundamist teostada. N\u00e4iteks suudab Veritas NetBackup PostgreSQL puhul teha vaid t\u00e4ielikke varukoopiaid.<\/p>\n<p>Rohkem arhitektuurist. Commvaulti haldusserverid olid paigaldatud igasse kahte andmekeskusesse CommServ HA konfiguratsioonis. S\u00fcsteem on peegeldav, seda haldatakse \u00fche juhtpaneeli kaudu ja HA vaatepunktist vastab see k\u00f5igile ettev\u00f5tte n\u00f5uetele.<\/p>\n<p><img decoding=\"async\" alt=\"Kuidas integreerida \u00abvaba\u00bb PostgreSQL karmidesse ettev\u00f5tte keskkondadesse\" src=\"\/wp-content\/uploads\/2020\/09\/461b05425385435fee233846516e328d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nIga andmesalvestuse keskuses oleme k\u00e4ivitanud kaks f\u00fc\u00fcsilist meediaserverit. Need on \u00fchendatud eraldiseisvate kettamahtudega ja lindiraamatukogudega SAN kaudu Fibre Channeli abil. Venitatud dedupikatsiooni alused tagavad meediaserverite t\u00f5rke taluvuse, samas kui iga serveri \u00fchendamine iga CSV-ga v\u00f5imaldab pidevat t\u00f6\u00f6protsessi, isegi kui \u00fcks komponentidest eba\u00f5nnestub. S\u00fcsteem arhitektuur v\u00f5imaldab j\u00e4tkata varundamist, isegi kui \u00fcks andmesalvestuse keskus eba\u00f5nnestub.<\/p>\n<p>Patroni m\u00e4\u00e4rab iga klastri jaoks Primary-s\u00f5lme. Selleks v\u00f5ib olla m\u00f5ni vabast s\u00f5lm andmesalvestuse keskuses \u2014 kuid ainult peamises. Varukoopias on k\u00f5ik s\u00f5lmed Secondary. <\/p>\n<p>Kuna Commvault m\u00f5istab, milline klastri s\u00f5lm on Primary, oleme integreerinud s\u00fcsteemi (t\u00e4nu lahenduse avatud arhitektuurile) Postgresiga. Selleks loodi skript, mis teavitab haldurit Primary-s\u00f5lme praegusest asukohast. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/et\/server\/dts-shicago\/\"   title=\"serverile\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2881\">serverile<\/a> Commvault.<\/p>\n<p>\u00dcldiselt n\u00e4eb protsess v\u00e4lja nii:<\/p>\n<p>Patroni valib Primary \u2192 Keepalived aktiveerib IP-klastri ja k\u00e4ivitab skripti \u2192 Commvaulti agent valitud klastri s\u00f5lmes saab teate, et see on Primary \u2192 Commvault konfigureerib automaatselt varukoopia pseudokliendi raames.<\/p>\n<p><img decoding=\"async\" alt=\"Kuidas integreerida \u00abvaba\u00bb PostgreSQL karmidesse ettev\u00f5tte keskkondadesse\" src=\"\/wp-content\/uploads\/2020\/09\/a3d909bdff1c219fd98cc49cf3054a23.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nSelle l\u00e4henemise eelised seisnevad selles, et lahendus ei m\u00f5juta logide j\u00e4rjepidevust, t\u00e4psust ega Postgres'i instantsi taastamist. Samuti on see kergesti skaleeritav, kuna Commvault'i esmase ja sekundaarse s\u00f5lme fikseerimine ei ole enam vajalik. Piisab, kui s\u00fcsteem m\u00f5istab, kus asub esmase s\u00f5lme, ja s\u00f5lmede arv v\u00f5ib olla suurendatav praktiliselt \u00fcksk\u00f5ik kui suureks.<\/p>\n<p>Lahendus ei pretendeeri ideaalile ning sellel on omad n\u00fcansid. Commvault suudab varundada ainult kogu instantsi, mitte eraldi andmebaase. Seet\u00f5ttu on iga andmebaasi jaoks loodud eraldi instants. Reaalsed kliendid on \u00fchendatud virtuaalseteks pseudokliendiks. Iga Commvault\u2019i pseudoklient kujutab endast UNIX klastrit. Sellesse lisatakse need klastris\u00f5lmed, kus on paigaldatud Commvault'i agent Postgres'i jaoks. Selle tulemusena varundatakse k\u00f5ik pseudokliendi virtuaalsed s\u00f5lmed kui \u00fcks instants. <\/p>\n<p>Iga tehisklient sisaldab aktiivset klastrinode. Just seda m\u00e4\u00e4ratleb meie integreerimislahendus Commvaultile. Selle t\u00f6\u00f6p\u00f5him\u00f5te on \u00fcsna lihtne: kui nodis t\u00f5useb klastrip\u00e4ring, seab skript Commvaulti agendi binaarsesse parameetrisse \"aktiivne nodi\" \u2014 sisuliselt seab skript \"1\" vajalikku m\u00e4lukohta. Agent edastab need andmed CommServe'ile ja Commvault teeb varukoopia \u00f5igelt s\u00f5lmelt. Lisaks kontrollib skript konfiguratsiooni \u00f5igsust, aidates v\u00e4ltida varundamise k\u00e4ivitamisel vigu.<\/p>\n<p>Selle k\u00e4igus kopeeritakse suured andmebaasid plokkidena mitme voolu kaudu, vastates RPO ja varukoopiaakna n\u00f5udmistele. S\u00fcsteemile avaldatav koormus on v\u00e4ike: t\u00e4iskoopiad ei toimu sageli, teistel p\u00e4evadel kogutakse ainult logisid, samuti madala koormuse perioodidel. <\/p>\n<p>Muide, oleme rakendanud eraldi poliitikaid PostgreSQL arhiivide logide varundamiseks \u2014 need s\u00e4ilitavad teistsuguste reeglite j\u00e4rgi, neid kopeeritakse teise ajakava alusel ja deduplikatsioon ei kehti nende kohta, kuna need logid sisaldavad unikaalseid andmeid.<\/p>\n<p>IT-infrastruktuuri j\u00e4rjepidevuse tagamiseks on Commvaulti eraldiseisvad failiklientide installatsioonid igas klastris. Need v\u00e4listavad varukoopiatest Postgresi failid ja on m\u00f5eldud ainult operatsioonis\u00fcsteemi ja rakenduste taasteks. Selle andmeosa jaoks on kehtestatud oma poliitika ning s\u00e4ilitust\u00e4htaeg. <\/p>\n<p><img decoding=\"async\" alt=\"Kuidas integreerida \u00abvaba\u00bb PostgreSQL karmidesse ettev\u00f5tte keskkondadesse\" src=\"\/wp-content\/uploads\/2020\/09\/80c74ee17f441308bd8c3b154c1acafc.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nPraegu ei m\u00f5juta SRK tootmisservise, kuid kui olukord muutub, saab Commvaultis aktiveerida koormuse piiramis\u00fcsteemi. <\/p>\n<p><strong>Sobib? Sobib!<\/strong><\/p>\n<p>Nii et saime mitte lihtsalt toimiva, vaid ka t\u00e4ielikult automatiseeritud varukoopia PostgreSQL klastripaigaldamiseks, mis vastab k\u00f5igile ettev\u00f5tete vajadustele.<\/p>\n<p>RPO ja RTO parameetrid 1 tunni ja 2 tunni kohta on reserveeritud, seega vastavad need isegi andmemahtude olulisel kasvamisel. Paljude kahtluste kiuste on PostgreSQL ja ettev\u00f5tte keskkond t\u00e4iesti \u00fchilduvad. N\u00fc\u00fcd teame kogemuse p\u00f5hjal, et selliste andmebaaside varundamine on v\u00f5imalik k\u00f5ige erinevates konfiguratsioonides. <\/p>\n<p>Muidugi, selle tee jooksul pidime me kulutama seitse paari raudvarbreid, \u00fcletama mitmeid raskusi, astuma m\u00f5nedel haavlitele ja parandama hulga vigu. Kuid n\u00fc\u00fcd on l\u00e4henemine testitud ja seda saab rakendada avatud l\u00e4htekoodiga lahenduste integreerimiseks asemel patenteeritud andmebaasidele \u00e4\u00e4rmuslikes ettev\u00f5tte tingimustes.<\/p>\n<p>Kas olete proovinud t\u00f6\u00f6tada PostgreSQL-iga ettev\u00f5tte keskkonnas?<\/p>\n<p><i>Autorid: <\/i><\/p>\n<p><i>Oleg Lavrenovi, andmesalvestuss\u00fcsteemide projekteerimistarkvara insener \u201eInfosis\u00fcsteemid Jet\u201c<\/i><\/p>\n<p><i>Dmitri Jer\u00f5kin, arvutite komplexide projekteerimistarkvara insener \u201eInfosis\u00fcsteemid Jet\u201c<\/i><br \/>\n<br \/>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/jetinfosystems\/blog\/518384\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041c\u043d\u043e\u0433\u0438\u0435 \u0437\u043d\u0430\u043a\u043e\u043c\u044b \u0441 \u0421\u0423\u0411\u0414 PostgreSQL, \u0438 \u043e\u043d\u0430 \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u0437\u0430\u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u043e\u0432\u0430\u043b\u0430 \u0441\u0435\u0431\u044f \u043d\u0430 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0446\u0438\u044f\u0445. \u041e\u0434\u043d\u0430\u043a\u043e \u0442\u0435\u043d\u0434\u0435\u043d\u0446\u0438\u044f \u043a \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0443 \u043d\u0430 Open Source \u0441\u0442\u0430\u043b\u0430 \u0432\u0441\u0435 \u0431\u043e\u043b\u0435\u0435 \u044f\u0432\u043d\u043e\u0439, \u0434\u0430\u0436\u0435 \u043a\u043e\u0433\u0434\u0430 \u0440\u0435\u0447\u044c \u0438\u0434\u0435\u0442 \u043e \u043a\u0440\u0443\u043f\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f\u0445 \u0438 enterprise \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u0445. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u043c, \u043a\u0430\u043a \u0432\u0441\u0442\u0440\u043e\u0438\u0442\u044c Postgres \u0432 \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u0443\u044e \u0441\u0440\u0435\u0434\u0443, \u0438 \u043f\u043e\u0434\u0435\u043b\u0438\u043c\u0441\u044f \u043e\u043f\u044b\u0442\u043e\u043c \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f (\u0421\u0420\u041a) \u0434\u043b\u044f \u044d\u0442\u043e\u0439 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":93879,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-93878","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041c\u043d\u043e\u0433\u0438\u0435 \u0437\u043d\u0430\u043a\u043e\u043c\u044b \u0441 \u0421\u0423\u0411\u0414 PostgreSQL, \u0438 \u043e\u043d\u0430 \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u0437\u0430\u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u043e\u0432\u0430\u043b\u0430 \u0441\u0435\u0431\u044f \u043d\u0430 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0446\u0438\u044f\u0445. \u041e\u0434\u043d\u0430\u043a\u043e \u0442\u0435\u043d\u0434\u0435\u043d\u0446\u0438\u044f \u043a \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0443 \u043d\u0430 Open Source \u0441\u0442\u0430\u043b\u0430 \u0432\u0441\u0435 \u0431\u043e\u043b\u0435\u0435 \u044f\u0432\u043d\u043e\u0439, \u0434\u0430\u0436\u0435 \u043a\u043e\u0433\u0434\u0430 \u0440\u0435\u0447\u044c \u0438\u0434\u0435\u0442 \u043e \u043a\u0440\u0443\u043f\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f\u0445 \u0438 enterprise \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u0445. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u043c, \u043a\u0430\u043a \u0432\u0441\u0442\u0440\u043e\u0438\u0442\u044c Postgres \u0432 \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u0443\u044e \u0441\u0440\u0435\u0434\u0443, \u0438 \u043f\u043e\u0434\u0435\u043b\u0438\u043c\u0441\u044f \u043e\u043f\u044b\u0442\u043e\u043c \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f (\u0421\u0420\u041a) \u0434\u043b\u044f \u044d\u0442\u043e\u0439\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/kak-vpisat-svobodnuyu-postgresql-v-surovoe-enterprise-okruzhenie\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u0430\u043a \u0432\u043f\u0438\u0441\u0430\u0442\u044c \u00ab\u0441\u0432\u043e\u0431\u043e\u0434\u043d\u0443\u044e\u00bb PostgreSQL \u0432 \u0441\u0443\u0440\u043e\u0432\u043e\u0435 enterprise \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041c\u043d\u043e\u0433\u0438\u0435 \u0437\u043d\u0430\u043a\u043e\u043c\u044b \u0441 \u0421\u0423\u0411\u0414 PostgreSQL, \u0438 \u043e\u043d\u0430 \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u0437\u0430\u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u043e\u0432\u0430\u043b\u0430 \u0441\u0435\u0431\u044f \u043d\u0430 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0446\u0438\u044f\u0445. \u041e\u0434\u043d\u0430\u043a\u043e \u0442\u0435\u043d\u0434\u0435\u043d\u0446\u0438\u044f \u043a \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0443 \u043d\u0430 Open Source \u0441\u0442\u0430\u043b\u0430 \u0432\u0441\u0435 \u0431\u043e\u043b\u0435\u0435 \u044f\u0432\u043d\u043e\u0439, \u0434\u0430\u0436\u0435 \u043a\u043e\u0433\u0434\u0430 \u0440\u0435\u0447\u044c \u0438\u0434\u0435\u0442 \u043e \u043a\u0440\u0443\u043f\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f\u0445 \u0438 enterprise \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u0445. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u043c, \u043a\u0430\u043a \u0432\u0441\u0442\u0440\u043e\u0438\u0442\u044c Postgres \u0432 \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u0443\u044e \u0441\u0440\u0435\u0434\u0443, \u0438 \u043f\u043e\u0434\u0435\u043b\u0438\u043c\u0441\u044f \u043e\u043f\u044b\u0442\u043e\u043c \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f (\u0421\u0420\u041a) \u0434\u043b\u044f \u044d\u0442\u043e\u0439\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/kak-vpisat-svobodnuyu-postgresql-v-surovoe-enterprise-okruzhenie\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-09-10T17:42:02+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-09-10T17:42:02+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Kuidas integreerida \u201evaba\u201c PostgreSQL \u00e4\u00e4rmuslikku ettev\u00f5tte keskkonda | ProHoster","description":"Paljud on tuttavad PostgreSQL andmebaasis\u00fcsteemiga, mis on suurep\u00e4raselt toiminud v\u00e4ikestes installatsioonides. Siiski on \u00fcleminek avatud l\u00e4htekoodile muutunud aina selgemaks, isegi suurte ettev\u00f5tete ja ettev\u00f5tte n\u00f5uete korral. Selles artiklis r\u00e4\u00e4gime, kuidas integreerida Postgres ettev\u00f5tte keskkonda ja jagame oma kogemusi varunduss\u00fcsteemi (VRS) loomisel.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/kak-vpisat-svobodnuyu-postgresql-v-surovoe-enterprise-okruzhenie","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u0430\u043a \u0432\u043f\u0438\u0441\u0430\u0442\u044c \u00ab\u0441\u0432\u043e\u0431\u043e\u0434\u043d\u0443\u044e\u00bb PostgreSQL \u0432 \u0441\u0443\u0440\u043e\u0432\u043e\u0435 enterprise \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435 | ProHoster","og:description":"\u041c\u043d\u043e\u0433\u0438\u0435 \u0437\u043d\u0430\u043a\u043e\u043c\u044b \u0441 \u0421\u0423\u0411\u0414 PostgreSQL, \u0438 \u043e\u043d\u0430 \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u0437\u0430\u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u043e\u0432\u0430\u043b\u0430 \u0441\u0435\u0431\u044f \u043d\u0430 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0446\u0438\u044f\u0445. \u041e\u0434\u043d\u0430\u043a\u043e \u0442\u0435\u043d\u0434\u0435\u043d\u0446\u0438\u044f \u043a \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0443 \u043d\u0430 Open Source \u0441\u0442\u0430\u043b\u0430 \u0432\u0441\u0435 \u0431\u043e\u043b\u0435\u0435 \u044f\u0432\u043d\u043e\u0439, \u0434\u0430\u0436\u0435 \u043a\u043e\u0433\u0434\u0430 \u0440\u0435\u0447\u044c \u0438\u0434\u0435\u0442 \u043e \u043a\u0440\u0443\u043f\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f\u0445 \u0438 enterprise \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u0445. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u043c, \u043a\u0430\u043a \u0432\u0441\u0442\u0440\u043e\u0438\u0442\u044c Postgres \u0432 \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u0443\u044e \u0441\u0440\u0435\u0434\u0443, \u0438 \u043f\u043e\u0434\u0435\u043b\u0438\u043c\u0441\u044f \u043e\u043f\u044b\u0442\u043e\u043c \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f (\u0421\u0420\u041a) \u0434\u043b\u044f \u044d\u0442\u043e\u0439","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/kak-vpisat-svobodnuyu-postgresql-v-surovoe-enterprise-okruzhenie","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-09-10T17:42:02+00:00","article:modified_time":"2020-09-10T17:42:02+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"93878","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 11:38:42","updated":"2026-02-09 21:41:55"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/93878","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=93878"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/93878\/revisions"}],"predecessor-version":[{"id":160161,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/93878\/revisions\/160161"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/93879"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=93878"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=93878"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=93878"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}