{"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\/ro\/blog\/administrirovanie\/kak-vpisat-svobodnuyu-postgresql-v-surovoe-enterprise-okruzhenie","title":{"rendered":"Cum s\u0103 integrezi PostgreSQL \u201eliber\u201d \u00eentr-un mediu enterprise riguros","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Multe persoane sunt familiarizate cu sistemul de gestiune a bazelor de date PostgreSQL, care a dovedit c\u0103 func\u021bioneaz\u0103 excelent \u00een instal\u0103ri mai mici. Totu\u0219i, tendin\u021ba de adoptare a solu\u021biilor Open Source devine tot mai evident\u0103, chiar \u0219i \u00een cazul companiilor mari \u0219i al cerin\u021belor enterprise. \u00cen acest articol, vom explora modul de integrare a Postgres \u00een medii corporative \u0219i vom \u00eemp\u0103rt\u0103\u0219i experien\u021ba noastr\u0103 \u00een crearea unui sistem de backup (SRK) pentru aceast\u0103 baz\u0103 de date, folosind exemplul sistemului de backup Commvault. <\/p>\n<p><img decoding=\"async\" alt=\"Cum s\u0103 integrezi PostgreSQL \u201eliber\u201d \u00eentr-un mediu enterprise riguros\" src=\"\/wp-content\/uploads\/2020\/09\/054cb60090c1b6df6da0010c5ba35f8b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nPostgreSQL \u0219i-a dovedit deja eficien\u021ba\u2014sistemul de gestiune a bazelor de date func\u021bioneaz\u0103 perfect, fiind utilizat de afaceri digitale contemporane precum Alibaba \u0219i TripAdvisor, iar absen\u021ba costurilor de licen\u021biere face din aceasta o alternativ\u0103 atr\u0103g\u0103toare la mon\u0219tri precum MS SQL sau Oracle DB. Dar, de \u00eendat\u0103 ce \u00eencepem s\u0103 ne g\u00e2ndim la PostgreSQL \u00een peisajul Enterprise, ne lovim imediat de cerin\u021be stricte: \u201eDar ce este cu disponibilitatea configura\u021biei? ce zici de recuperarea \u00een caz de dezastru? unde este monitorizarea cuprinz\u0103toare? ce este cu backup-ul automatizat? \u0219i utilizarea bibliotecilor de benzi at\u00e2t direct, c\u00e2t \u0219i pentru stocare secundar\u0103?\u201d<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n<img decoding=\"async\" alt=\"Cum s\u0103 integrezi PostgreSQL \u201eliber\u201d \u00eentr-un mediu enterprise riguros\" src=\"\/wp-content\/uploads\/2020\/09\/9b7e3d88c6e5488e1684239b546deb1b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nPe de o parte, PostgreSQL nu dispune de instrumente integrate de backup precum \u201esolu\u021biile mature\u201d RMAN de la Oracle DB sau SAP Database Backup. Pe de alt\u0103 parte, furnizorii de solu\u021bii de backup pentru companii (Veeam, Veritas, Commvault) de\u0219i suport\u0103 PostgreSQL, \u00een realitate func\u021bioneaz\u0103 doar cu configura\u021bii specifice (de obicei standalone) \u0219i cu un set de diverse restric\u021bii. <\/p>\n<p>Sisteme de backup special concepute pentru PostgreSQL, precum Barman, Wal-g, pg_probackup, sunt extrem de populare \u00een instal\u0103rile mai mici ale sistemului de gestiune a bazelor de date PostgreSQL sau \u00een situa\u021biile \u00een care nu sunt necesare backup-uri grele ale altor elemente din peisajul IT. De exemplu, \u00een infrastructur\u0103 pot exista at\u00e2t baze de date fizice \u0219i virtuale. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/ro\/server\/\"   title=\"servere\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1900\">servere<\/a>, OpenShift, Oracle, MariaDB, Cassandra etc. Este de preferat s\u0103 se fac\u0103 backup comun. Implementarea unei solu\u021bii separate exclusiv pentru PostgreSQL este o idee proast\u0103: datele vor fi copiate undeva pe un disc, iar apoi trebuie mutate pe band\u0103. Aceast\u0103 duplicare a procesului de backup cre\u0219te timpul de backup \u0219i, ceea ce este \u0219i mai critic, timpul de recuperare.<\/p>\n<p>\u00cen solu\u021bia enterprise, backup-ul instal\u0103rii se face cu un anumit num\u0103r de noduri dintr-un cluster dedicat. De exemplu, Commvault poate lucra doar cu un cluster cu dou\u0103 noduri, \u00een care Primary \u0219i Secondary sunt fixate pe anumite noduri. \u0218i are sens s\u0103 faci backup doar de pe Primary, deoarece backup-ul de pe Secondary are propriile sale limit\u0103ri. Datorit\u0103 specificit\u0103\u021bilor SGBD-ului, dump-ul pe Secondary nu este creat, a\u0219a c\u0103 r\u0103m\u00e2ne doar op\u021biunea backup-ului de fi\u0219iere.<\/p>\n<p>Pentru a reduce riscurile de nefunc\u021bionare, la crearea unui sistem tolerant la erori se formeaz\u0103 o configura\u021bie de cluster \u201evie\u201d, iar Primary poate migra treptat \u00eentre diferite servere. De exemplu, software-ul Patroni porne\u0219te automat Primary pe un nod ales aleatoriu din cluster. SRK nu are o metod\u0103 de a urm\u0103ri acest lucru \u201edin cutie\u201d, iar dac\u0103 configura\u021bia se schimb\u0103, procesele se rup. Asta \u00eenseamn\u0103 c\u0103 implementarea unei gestion\u0103ri externe \u00eempiedic\u0103 SRK s\u0103 func\u021bioneze eficient, deoarece serverul de management pur \u0219i simplu nu \u00een\u021belege de unde \u0219i ce date trebuie s\u0103 copie.<\/p>\n<p>O alt\u0103 problem\u0103 este implementarea backup-ului \u00een Postgres. Aceasta este posibil\u0103 prin dump, \u0219i func\u021bioneaz\u0103 bine pe baze mici. Dar \u00een baze de date mari, dump-ul dureaz\u0103 mult, necesit\u0103 multe resurse \u0219i poate duce la e\u0219ecul instan\u021bei DB.<\/p>\n<p>Backup-ul de fi\u0219iere rezolv\u0103 situa\u021bia, dar pe baze mari acesta se desf\u0103\u0219oar\u0103 lent, deoarece lucreaz\u0103 \u00een modul monocoric. De asemenea, furnizorii impun o serie de restric\u021bii suplimentare. Uneori nu se poate utiliza simultan backup-ul de fi\u0219iere \u0219i cel bazat pe dump, alteori nu se suport\u0103 deduplicarea. Apar multe probleme, iar cel mai adesea este mai simplu s\u0103 alegi o SGBD scump\u0103, dar verificat\u0103, \u00een loc de Postgres.<\/p>\n<h2>Nu mai est\u0435 cale de \u00eentoarcere! \u00cen spate sunt dezvoltatorii din Moscova!<\/h2>\n<p>\nCu toate acestea, recent echipa noastr\u0103 s-a confruntat cu o provocare dificil\u0103: \u00een proiectul de creare a sistemului de informa\u021bii pentru RCA 2.0, unde am dezvoltat infrastructura IT, dezvoltatorii au ales PostgreSQL pentru noul sistem. <\/p>\n<p>Dezvoltatorilor mari de software le este mult mai u\u0219or s\u0103 foloseasc\u0103 solu\u021bii open-source \u201emoderne\u201d. \u00cen cadrul Facebook, exist\u0103 suficien\u021bi speciali\u0219ti pentru a sus\u021bine func\u021bionarea acestui SGBD. \u00cen cazul RSAs, toate sarcinile \u201ezilei a doua\u201d c\u0103deau pe umerii no\u0219tri. Ni s-a cerut s\u0103 asigur\u0103m toleran\u021ba la erori, s\u0103 construim un cluster \u0219i, desigur, s\u0103 configur\u0103m backup-ul. Logica ac\u021biunilor a fost urm\u0103toarea: <\/p>\n<ul>\n<li>\u00cenv\u0103\u021barea SRK-ului de a face backup de la nodul principal al clusterei. Pentru aceasta, SRK trebuie s\u0103-l identifice \u2014 ceea ce necesit\u0103 integrarea cu o solu\u021bie de gestionare a clusterei PostgreSQL. \u00cen cazul RSA, s-a utilizat software-ul Patroni.<\/li>\n<li>Stabilirea tipului de backup, baz\u00e2ndu-se pe volumele de date \u0219i cerin\u021bele de recuperare. De exemplu, atunci c\u00e2nd trebuie s\u0103 recuper\u0103m pagini granular, s\u0103 utiliz\u0103m un dump, iar dac\u0103 bazele sunt mari \u0219i recuperarea granular\u0103 nu este necesar\u0103 \u2014 s\u0103 lucr\u0103m la nivel de fi\u0219iere.<\/li>\n<li>Implementarea unei solu\u021bii pentru backup-ul pe blocuri, pentru a crea o copie de rezerv\u0103 \u00een modul multithread.<\/li>\n<\/ul>\n<p>\n\u00cen acest context, ini\u021bial ne-am propus s\u0103 cre\u0103m un sistem eficient \u0219i simplu, f\u0103r\u0103 o compunere monstruoas\u0103 de componente suplimentare. Cu c\u00e2t mai pu\u021bine solu\u021bii improvizate, cu at\u00e2t mai mic\u0103 este \u00eenc\u0103rc\u0103tura asupra personalului \u0219i cu at\u00e2t mai mic este riscul de a avea SRK-ul nefunc\u021bional. Abord\u0103rile care foloseau Veeam \u0219i RMAN au fost imediat excluse, deoarece ansamblul celor dou\u0103 solu\u021bii sugereaz\u0103 deja o fiabilitate sc\u0103zut\u0103 a sistemului.<\/p>\n<h2>Un strop de magie pentru enterprise<\/h2>\n<p>\nA\u0219adar, trebuia s\u0103 garant\u0103m un backup fiabil pentru 10 clustere, fiecare cu 3 noduri, av\u00e2nd \u00een acela\u0219i timp o infrastructur\u0103 identic\u0103 \u00een DC-ul de rezerv\u0103. DC-urile, \u00een ceea ce prive\u0219te PostgreSQL, func\u021bioneaz\u0103 pe principiul active-passive. Volumul total al bazelor de date era de 50 TB. Orice SRK de nivel corporate poate gestiona acest lucru cu u\u0219urin\u021b\u0103. Dar nuan\u021ba este c\u0103 ini\u021bial \u00een Postgres nu exist\u0103 puncte de integrare pentru compatibilitate complet\u0103 \u0219i profund\u0103 cu sistemele de backup. Prin urmare, a trebuit s\u0103 c\u0103ut\u0103m o solu\u021bie care s\u0103 aib\u0103 de la bun \u00eenceput un maximum de func\u021bionalitate \u00een combina\u021bie cu PostgreSQL \u0219i s\u0103 dezvolt\u0103m sistemul. <\/p>\n<p>Am desf\u0103\u0219urat 3 hackathoane interne \u2014 am revizuit mai mult de cinci zeci de proiecte, le-am testat, am f\u0103cut modific\u0103ri pe baza ipotezelor noastre, le-am verificat din nou. Dup\u0103 ce am analizat op\u021biunile disponibile, am ales Commvault. Acest produs putea deja \u201edin cutie\u201d s\u0103 func\u021bioneze cu cele mai simple instala\u021bii cluster PostgreSQL, iar arhitectura sa deschis\u0103 a inspirat speran\u021ba (care s-a dovedit a fi justificat\u0103) pentru o dezvoltare \u0219i integrare de succes. De asemenea, Commvault este capabil s\u0103 efectueze backup-uri pentru logurile PostgreSQL. De exemplu, Veritas NetBackup, \u00een ceea ce prive\u0219te PostgreSQL, poate realiza doar backup-uri complete.<\/p>\n<p>Mai multe despre arhitectur\u0103. Serverele de control Commvault au fost instalate \u00een fiecare dintre cele dou\u0103 centre de date \u00een configura\u021bia CommServ HA. Sistemul este replicat, gestionat printr-o singur\u0103 consol\u0103 \u0219i \u00eendepline\u0219te toate cerin\u021bele de HA ale \u00eentreprinderii.<\/p>\n<p><img decoding=\"async\" alt=\"Cum s\u0103 integrezi PostgreSQL \u201eliber\u201d \u00eentr-un mediu enterprise riguros\" src=\"\/wp-content\/uploads\/2020\/09\/461b05425385435fee233846516e328d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nDe asemenea, \u00een fiecare centru de date am implementat c\u00e2te dou\u0103 servere de medii fizice, la care am conectat prin SAN, prin Fibre Channel, array-uri de discuri dedicate special pentru backupuri \u0219i biblioteci de band\u0103. Baze de deduplicare extinse au asigurat redundan\u021ba serverelor de medii, iar conectarea fiec\u0103rui server la fiecare CSV permite continuitatea opera\u021biunilor \u00een cazul defect\u0103rii oric\u0103rei componente. Arhitectura sistemului permite continuarea backupului, chiar dac\u0103 unul dintre centrele de date se defecteaz\u0103.<\/p>\n<p>Patroni pentru fiecare cluster identific\u0103 nodul principal. Acesta poate fi orice nod liber \u00een centru de date - dar doar \u00een principal. \u00cen cel de rezerv\u0103, toate nodurile sunt secundare. <\/p>\n<p>Pentru ca Commvault s\u0103 \u00een\u021beleag\u0103 care nod de cluster este principal, am integrat sistemul (mul\u021bumit\u0103 arhitecturii deschise a solu\u021biei) cu Postgres. Pentru acest lucru a fost creat un script care raporteaz\u0103 loca\u021bia curent\u0103 a nodului principal controlerului. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/ro\/server\/dts-shicago\/\"   title=\"server\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2881\">server<\/a> Commvault.<\/p>\n<p>\u00cen general, procesul arat\u0103 astfel:<\/p>\n<p>Patroni alege nodul principal \u2192 Keepalived ridic\u0103 IP-ul clusterului \u0219i lanseaz\u0103 scriptul \u2192 agentul Commvault de pe nodul ales al clusterului prime\u0219te o notificare c\u0103 acesta este principal \u2192 Commvault reconfigureaz\u0103 automat backupul \u00een cadrul pseudoclientului.<\/p>\n<p><img decoding=\"async\" alt=\"Cum s\u0103 integrezi PostgreSQL \u201eliber\u201d \u00eentr-un mediu enterprise riguros\" src=\"\/wp-content\/uploads\/2020\/09\/a3d909bdff1c219fd98cc49cf3054a23.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nAvantajul acestei abord\u0103ri este c\u0103 solu\u021bia nu afecteaz\u0103 nici consisten\u021ba, nici corectitudinea logurilor, nici recuperarea instan\u021bei Postgres. De asemenea, este u\u0219or de scalat, pentru c\u0103 acum nu este necesar s\u0103 se fixeze pentru Commvault nodurile principale \u0219i secundare. Este suficient ca sistemul s\u0103 \u00een\u021beleag\u0103 unde este nodul principal, iar num\u0103rul de noduri poate fi crescut practic la orice valoare.<\/p>\n<p>Solu\u021bia nu pretinde a fi perfect\u0103 \u0219i are propriile sale nuan\u021be. Commvault poate face backup doar \u00eentregului instan\u021be, nu a bazelor de date individuale. Prin urmare, pentru fiecare BD a fost creat\u0103 o instan\u021b\u0103 separat\u0103. Clien\u021bii reali sunt grupati \u00een pseudoclien\u021bi virtuali. Fiecare pseudoclient Commvault reprezint\u0103 un cluster UNIX. \u00cen acesta sunt ad\u0103ugate nodurile clusterului pe care este instalat agentul Commvault pentru Postgres. Ca urmare, toate nodurile virtuale ale pseudoclientului sunt salvate ca o singur\u0103 instan\u021b\u0103. <\/p>\n<p>\u00cen fiecare pseudoclient este specificat un nod activ al clusterei. Acesta este determinat de solu\u021bia noastr\u0103 de integrare pentru Commvault. Principiul s\u0103u de func\u021bionare este destul de simplu: dac\u0103 un IP de cluster este activat pe nod, scriptul stabile\u0219te \u00een binarul agentului Commvault parametrul \u201enod activ\u201d \u2014 practic, scriptul seteaz\u0103 \u201e1\u201d \u00een partea corect\u0103 a memoriei. Agentul transmite aceste date c\u0103tre CommServe, iar Commvault efectueaz\u0103 backup de pe nodul corespunz\u0103tor. \u00cen plus, la nivel de script se verific\u0103 corectitudinea configura\u021biei pentru a evita erorile la ini\u021bierea rezervelor de siguran\u021b\u0103.<\/p>\n<p>\u00cen acest context, bazele de date mari sunt salvate \u00een blocuri pe mai multe fluxuri, respect\u00e2nd cerin\u021bele RPO \u0219i fereastra de backup. Suprasarcina pentru sistem este neglijabil\u0103: copiile complete nu au loc foarte des, iar \u00een celelalte zile sunt adunate doar loguri, de obicei \u00een perioade de mic\u0103 \u00eenc\u0103rcare. <\/p>\n<p>Apropo, am aplicat politici distincte pentru backup-ul jurnalelor arhiv\u0103 PostgreSQL \u2014 acestea sunt p\u0103strate conform altor reguli, copiate conform altui program \u0219i pentru ele nu se activeaz\u0103 deduplicarea, deoarece aceste jurnale con\u021bin date unice.<\/p>\n<p>Pentru a asigura consisten\u021ba \u00eentregii infrastructuri IT, clien\u021bii de fi\u0219iere Commvault sunt instala\u021bi pe fiecare nod al clusterei. Ace\u0219tia exclud din backup-uri fi\u0219ierele Postgres \u0219i sunt destina\u021bi doar pentru backup-ul sistemului de operare \u0219i aplica\u021biilor. Exist\u0103 de asemenea o politic\u0103 separat\u0103 \u0219i un termen de p\u0103strare pentru acest set de date. <\/p>\n<p><img decoding=\"async\" alt=\"Cum s\u0103 integrezi PostgreSQL \u201eliber\u201d \u00eentr-un mediu enterprise riguros\" src=\"\/wp-content\/uploads\/2020\/09\/80c74ee17f441308bd8c3b154c1acafc.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n\u00cen prezent, SRK nu afecteaz\u0103 serviciile productive, dar, dac\u0103 situa\u021bia se va schimba, \u00een Commvault se va putea activa sistemul de limitare a \u00eenc\u0103rc\u0103rii. <\/p>\n<p><strong>Este bun? Este bun!<\/strong><\/p>\n<p>A\u0219adar, am ob\u021binut nu doar un backup func\u021bional, ci \u0219i unul complet automatizat pentru instalarea clusterului PostgreSQL, care \u00eendepline\u0219te toate cerin\u021bele impuse de provoc\u0103rile enterprise.<\/p>\n<p>Parametrii RPO \u0219i RTO de 1 or\u0103 \u0219i 2 ore sunt dep\u0103\u0219i\u021bi cu rezerv\u0103, ceea ce \u00eenseamn\u0103 c\u0103 sistemul va respecta aceste valori \u0219i \u00een cazul unei cre\u0219teri semnificative a volumelor de date stocate. \u00cen ciuda multor \u00eendoieli, PostgreSQL \u0219i mediul enterprise s-au dovedit a fi complet compatibile. \u0218i acum \u0219tim din propria experien\u021b\u0103 c\u0103 backup-ul pentru astfel de SGBD-uri este posibil \u00een cele mai diverse configura\u021bii. <\/p>\n<p>Desigur, pe acest drum a fost necesar s\u0103 uz\u0103m \u0219apte perechi de bocanci metalici, s\u0103 dep\u0103\u0219im o serie de dificult\u0103\u021bi, s\u0103 c\u0103lc\u0103m pe c\u00e2teva greble \u0219i s\u0103 corect\u0103m un anumit num\u0103r de erori. Dar acum abordarea a fost testat\u0103 \u0219i poate fi aplicat\u0103 pentru implementarea Open Source \u00een locul DBMS-urilor proprietare \u00een condi\u021bii dure de enterprise.<\/p>\n<p>A\u021bi \u00eencercat s\u0103 lucra\u021bi cu PostgreSQL \u00een mediul corporativ?<\/p>\n<p><i>Autori: <\/i><\/p>\n<p><i>Oleg Lavrenov, inginer proiectant al sistemelor de stocare a datelor de la \u00abInfossisteme Jet\u00bb<\/i><\/p>\n<p><i>Dmitry Erikin, inginer proiectant al complexelor de calcul de la \u00abInfossisteme Jet\u00bb<\/i><br \/>\n<br \/>Sursa: <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 5.0.2.1 - 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.\" \/>\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\/ro\/blog\/administrirovanie\/kak-vpisat-svobodnuyu-postgresql-v-surovoe-enterprise-okruzhenie\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\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.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/ro\/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\udd47Cum s\u0103 integrezi PostgreSQL \u201eliber\u201d \u00eentr-un mediu enterprise greu | ProHoster","description":"Mul\u021bi sunt familiariza\u021bi cu DBMS-ul PostgreSQL, iar acesta s-a dovedit a fi excelent \u00een instal\u0103rile mici.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/kak-vpisat-svobodnuyu-postgresql-v-surovoe-enterprise-okruzhenie","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","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.","og:url":"https:\/\/prohoster.info\/ro\/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","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/93878","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=93878"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/93878\/revisions"}],"predecessor-version":[{"id":160161,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/93878\/revisions\/160161"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media\/93879"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=93878"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=93878"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=93878"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}