{"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\/it\/blog\/administrirovanie\/kak-vpisat-svobodnuyu-postgresql-v-surovoe-enterprise-okruzhenie","title":{"rendered":"Come integrare una PostgreSQL 'libera' in un rigido ambiente enterprise","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Molti sono familiarit\u00e0 con il DBMS PostgreSQL, e ha dimostrato di essere eccellente in piccole installazioni. Tuttavia, la tendenza al passaggio a soluzioni Open Source \u00e8 diventata sempre pi\u00f9 evidente, anche quando si parla di grandi aziende e requisiti enterprise. In questo articolo, parleremo di come integrare Postgres in un ambiente aziendale e condivideremo l'esperienza di creare un sistema di backup (SRK) per questo database utilizzando come esempio il sistema di backup Commvault. <\/p>\n<p><img decoding=\"async\" alt=\"Come integrare una PostgreSQL &#039;libera&#039; in un rigido ambiente enterprise\" src=\"\/wp-content\/uploads\/2020\/09\/054cb60090c1b6df6da0010c5ba35f8b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nPostgreSQL ha gi\u00e0 dimostrato la propria efficacia: il DBMS funziona perfettamente, \u00e8 utilizzato da aziende digitali alla moda come Alibaba e TripAdvisor, e l'assenza di costi di licenza la rende un'alternativa attraente a giganti come MS SQL o Oracle DB. Ma non appena iniziamo a considerare PostgreSQL nel contesto enterprise, ci troviamo subito di fronte a requisiti rigidi: \u00abE la resilienza della configurazione? La resilienza ai disastri? Dove sono il monitoraggio completo? E il backup automatico? E l'uso di librerie a nastro sia per il salvataggio diretto che per il secondo spazio di archiviazione?\u00bb<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n<img decoding=\"async\" alt=\"Come integrare una PostgreSQL &#039;libera&#039; in un rigido ambiente enterprise\" src=\"\/wp-content\/uploads\/2020\/09\/9b7e3d88c6e5488e1684239b546deb1b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nDa un lato, PostgreSQL non ha strumenti di backup integrati come i \"grandi\" DBMS come RMAN di Oracle DB o SAP Database Backup. Dall'altro, i fornitori di sistemi di backup aziendali (Veeam, Veritas, Commvault) supportano anche PostgreSQL, ma in realt\u00e0 lavorano solo con configurazioni specifiche (di solito standalone) e con una serie di limitazioni. <\/p>\n<p>Sistemi di backup progettati specificamente per PostgreSQL, come Barman, Wal-g, pg_probackup, sono estremamente popolari in piccole installazioni del DBMS PostgreSQL o dove non sono necessari pesanti backup di altri elementi del panorama IT. Ad esempio, oltre a PostgreSQL, l'infrastruttura pu\u00f2 includere fisici e virtuali <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/it\/server\/\"   title=\"servers\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1900\">servers<\/a>, OpenShift, Oracle, MariaDB, Cassandra, ecc. \u00c8 preferibile eseguire il backup di tutto con uno strumento comune. Implementare una soluzione separata esclusivamente per PostgreSQL \u00e8 una cattiva idea: i dati verranno copiati su un disco e poi dovranno essere trasferiti su nastro. Questa duplicazione del backup aumenta i tempi di backup e, cosa pi\u00f9 critica, di ripristino.<\/p>\n<p>Nella soluzione enterprise, il backup dell'installazione avviene con un certo numero di nodi di un cluster dedicato. Ad esempio, Commvault pu\u00f2 lavorare solo con un cluster a due nodi, in cui il Primary e il Secondary sono rigidamente assegnati a nodi specifici. Inoltre, ha senso fare il backup solo dal Primary, poich\u00e9 il backup dal Secondary ha le sue limitazioni. A causa delle peculiarit\u00e0 del DBMS, il dump non viene creato sul Secondary, quindi rimane solo la possibilit\u00e0 del backup file-based.<\/p>\n<p>Per ridurre i rischi di inattivit\u00e0, durante la creazione di un sistema fault-tolerant viene generata una configurazione di cluster \"live\", e il Primary pu\u00f2 migrare gradualmente tra diversi server. Ad esempio, il software Patroni avvia automaticamente il Primary su un nodo scelto casualmente del cluster. Il SRK non ha modi per monitorare questo \"out of the box\", e quindi, se la configurazione cambia, i processi si rompono. In altre parole, l'implementazione di una gestione esterna ostacola l'efficacia del SRK, poich\u00e9 il server di gestione non comprende semplicemente da dove e quali dati debbano essere copiati.<\/p>\n<p>Un altro problema \u00e8 l'implementazione del backup in Postgres. \u00c8 possibile tramite dump, e su piccole basi funziona. Ma con grandi DB, il dump richiede molto tempo, consuma molte risorse e pu\u00f2 portare a un'interruzione dell'istanza del DB.<\/p>\n<p>Il backup file-based migliora la situazione, ma su grandi basi avviene lentamente, poich\u00e9 funziona in modalit\u00e0 singolo-thread. Inoltre, i fornitori impongono una serie di ulteriori limitazioni. Ad esempio, non \u00e8 possibile utilizzare contemporaneamente il backup file-based e il backup tramite dump, oppure la deduplicazione non \u00e8 supportata. Ci sono molti problemi, e spesso \u00e8 pi\u00f9 semplice scegliere un DBMS costoso ma collaudato piuttosto che Postgres.<\/p>\n<h2>Non c'\u00e8 tempo per indietreggiare! I programmatori di Mosca sono dietro di noi!<\/h2>\n<p>\nTuttavia, recentemente il nostro team si \u00e8 trovato di fronte a una sfida non facile: nel progetto di creazione dell'AIS OSAGO 2.0, dove abbiamo realizzato l'infrastruttura IT, gli sviluppatori della nuova sistema hanno scelto PostgreSQL. <\/p>\n<p>Per i grandi sviluppatori di software \u00e8 molto pi\u00f9 semplice utilizzare soluzioni open-source \"alla moda\". Nel staff di Facebook ci sono abbastanza specialisti che supportano il funzionamento di questo DBMS. Nel caso del RCA, tutte le attivit\u00e0 del \"giorno due\" ricadevano sulle nostre spalle. Da noi ci si aspettava di garantire la fault-tolerance, di assemblare un cluster e, naturalmente, di organizzare il backup. La logica delle azioni era questa: <\/p>\n<ul>\n<li>Insegnare a SRK a fare il backup dalla nodo principale del cluster. Per questo, SRK deve essere in grado di trovarlo \u2014 quindi \u00e8 necessaria un'integrazione con una delle soluzioni di gestione del cluster PostgreSQL. Nel caso di RSA, \u00e8 stato utilizzato il software Patroni.<\/li>\n<li>Stabilire il tipo di backup in base ai volumi di dati e ai requisiti di ripristino. Ad esempio, quando \u00e8 necessario ripristinare le pagine in modo granulare, utilizzare un dump, mentre se i database sono grandi e non \u00e8 necessario un ripristino granulare \u2014 lavorare a livello di file.<\/li>\n<li>Aggiungere al sistema la possibilit\u00e0 di backup a blocchi, per creare copie di sicurezza in modalit\u00e0 multi-thread.<\/li>\n<\/ul>\n<p>\nInizialmente, ci eravamo prefissi di creare un sistema efficiente e semplice senza l'ingombrante contorno di componenti aggiuntivi. Meno fronzoli ci sono, minore \u00e8 il carico sul personale e inferiore \u00e8 il rischio di malfunzionamento di SRK. Le soluzioni che coinvolgevano Veeam e RMAN sono state subito escluse, poich\u00e9 il pacchetto di due soluzioni suggerisce gi\u00e0 un'affidabilit\u00e0 limitata del sistema.<\/p>\n<h2>Un po' di magia per l'impresa<\/h2>\n<p>\nPertanto, dovevamo garantire un backup affidabile per 10 cluster, ciascuno con 3 nodi, mentre nel centro dati di backup \u00e8 presente un'infrastruttura identica. I centri dati in relazione a PostgreSQL operano secondo il principio active-passive. Il volume totale dei database era di 50 TB. Qualsiasi SRK di livello aziendale pu\u00f2 gestirlo facilmente. Ma il punto \u00e8 che inizialmente in Postgres non c'era nulla per una compatibilit\u00e0 completa e profonda con i sistemi di backup. Pertanto, abbiamo dovuto cercare una soluzione che avesse fin dall'inizio il massimo delle funzionalit\u00e0 in associazione con PostgreSQL e potenziare il sistema. <\/p>\n<p>Abbiamo condotto 3 hackathon interni \u2014 abbiamo esaminato oltre cinquanta sviluppi, li abbiamo testati, apportato modifiche in base alle nostre ipotesi e controllato di nuovo. Dopo aver analizzato le opzioni disponibili, abbiamo scelto Commvault. Questo prodotto gi\u00e0 \"out of the box\" poteva funzionare con una semplice installazione cluster di PostgreSQL, e la sua architettura aperta ha suscitato speranza (che si \u00e8 rivelata fondata) per un'integrazione e un potenziamento di successo. Inoltre, Commvault \u00e8 in grado di eseguire il backup dei log di PostgreSQL. Ad esempio, Veritas NetBackup, per quanto riguarda PostgreSQL, pu\u00f2 effettuare solo backup completi.<\/p>\n<p>Ulteriori informazioni sull'architettura. I server di gestione Commvault sono stati installati in ciascuno dei due data center in configurazione CommServ HA. Il sistema \u00e8 speculare, gestito tramite un'unica console e, dal punto di vista dell'HA, soddisfa tutti i requisiti enterprise.<\/p>\n<p><img decoding=\"async\" alt=\"Come integrare una PostgreSQL &#039;libera&#039; in un rigido ambiente enterprise\" src=\"\/wp-content\/uploads\/2020\/09\/461b05425385435fee233846516e328d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nInoltre, in ciascun data center abbiamo avviato due server media fisici, ai quali sono stati collegati tramite SAN su Fibre Channel array di dischi dedicati appositamente per i backup e biblioteche di nastri. I database di deduplicazione distribuiti hanno garantito la disponibilit\u00e0 dei media server, e il collegamento di ciascun server a ciascun CSV ha permesso un funzionamento continuo in caso di guasto di qualsiasi componente. L'architettura del sistema consente di continuare il backup, anche se uno dei data center dovesse andare gi\u00f9.<\/p>\n<p>Patroni determina la nodi Primary per ciascun cluster. Pu\u00f2 essere qualsiasi nodo libero nel data center \u2014 ma solo nel principale. In quello di riserva tutti i nodi sono Secondari. <\/p>\n<p>Affinch\u00e9 Commvault riconosca quale nodo del cluster sia Primary, abbiamo integrato il sistema (grazie all'architettura aperta della soluzione) con Postgres. \u00c8 stato creato uno script che informa il gestore sulla posizione attuale del nodo Primary. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/it\/server\/dts-shicago\/\"   title=\"server\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2881\">server<\/a> Commvault.<\/p>\n<p>In generale, il processo \u00e8 il seguente:<\/p>\n<p>Patroni seleziona il Primary \u2192 Keepalived attiva l'IP del cluster e avvia lo script \u2192 l'agente Commvault sul nodo selezionato del cluster riceve una notifica che \u00e8 il Primary \u2192 Commvault riconfigura automaticamente il backup all'interno del pseudocliente.<\/p>\n<p><img decoding=\"async\" alt=\"Come integrare una PostgreSQL &#039;libera&#039; in un rigido ambiente enterprise\" src=\"\/wp-content\/uploads\/2020\/09\/a3d909bdff1c219fd98cc49cf3054a23.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nIl vantaggio di questo approccio \u00e8 che la soluzione non influisce sulla coerenza, n\u00e9 sulla correttezza dei log, n\u00e9 sul ripristino dell'istanza Postgres. \u00c8 anche facilmente scalabile, poich\u00e9 ora non \u00e8 necessario fissare per Commvault i nodi Primary e Secondary. \u00c8 sufficiente che il sistema comprenda dove si trovi il Primary e il numero di nodi pu\u00f2 essere aumentato praticamente a qualsiasi valore.<\/p>\n<p>La soluzione non pretende di essere perfetta e presenta le proprie peculiarit\u00e0. Commvault pu\u00f2 effettuare il backup solo dell'istanza intera, non di singoli database. Pertanto, per ogni database \u00e8 stata creata un'istanza separata. I clienti reali sono stati unificati in pseudoclienti virtuali. Ogni pseudocliente Commvault rappresenta un cluster UNIX. Vengono aggiunti i nodi del cluster sui quali \u00e8 installato l'agente Commvault per Postgres. Di conseguenza, tutti i nodi virtuali del pseudocliente vengono sottoposti a backup come un'unica istanza. <\/p>\n<p>All'interno di ogni pseudocliente \u00e8 specificato un nodo attivo del cluster. \u00c8 proprio quello che il nostro sistema di integrazione per Commvault determina. Il principio del suo funzionamento \u00e8 piuttosto semplice: se sul nodo viene attivato un IP di cluster, lo script pone nel binario dell'agente Commvault il parametro \"nodo attivo\" \u2014 in pratica, lo script imposta \"1\" nella parte corretta della memoria. L'agente trasmette questi dati a CommServe, e Commvault effettua il backup dal nodo desiderato. Inoltre, a livello di script, viene verificata la correttezza della configurazione, aiutando a evitare errori durante l'avvio del backup.<\/p>\n<p>A questo punto, i grandi database vengono sottoposti a backup a blocchi su pi\u00f9 flussi, rispettando i requisiti RPO e la finestra di backup. Il carico sul sistema \u00e8 minimo: i backup completi non avvengono cos\u00ec frequentemente e negli altri giorni vengono raccolti solo i log, durante i periodi di bassa attivit\u00e0. <\/p>\n<p>Tra l'altro, abbiamo applicato politiche separate per il backup dei log archivio di PostgreSQL \u2014 questi vengono conservati secondo regole diverse, copiati secondo un programma diverso e per loro non \u00e8 prevista la deduplicazione, poich\u00e9 questi log contengono dati unici.<\/p>\n<p>Per garantire la consistenza dell'intera infrastruttura IT, i singoli client di file Commvault sono installati su ciascuno dei nodi del cluster. Essi escludono dai backup i file Postgres e sono destinati solo al backup del sistema operativo e delle applicazioni. Anche per questa parte dei dati \u00e8 prevista una propria politica e un proprio periodo di conservazione. <\/p>\n<p><img decoding=\"async\" alt=\"Come integrare una PostgreSQL &#039;libera&#039; in un rigido ambiente enterprise\" src=\"\/wp-content\/uploads\/2020\/09\/80c74ee17f441308bd8c3b154c1acafc.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nAttualmente, il SRK non influisce sui servizi produttivi, ma se la situazione dovesse cambiare, in Commvault sar\u00e0 possibile attivare un sistema di limitazione del carico. <\/p>\n<p><strong>Va bene? Va bene!<\/strong><\/p>\n<p>Quindi, abbiamo ottenuto non solo un backup funzionante, ma anche completamente automatizzato per l'installazione cluster di PostgreSQL, che soddisfa tutte le esigenze delle sfide enterprise.<\/p>\n<p>I parametri RPO e RTO di 1 ora e 2 ore sono stati superati abbondantemente, il che significa che il sistema li soddisfer\u00e0 anche con un notevole aumento dei volumi di dati memorizzati. In controtendenza a molte opinioni scettiche, PostgreSQL e l'ambiente enterprise si sono rivelati perfettamente compatibili. E ora sappiamo per esperienza che il backup per tali DBMS \u00e8 possibile in configurazioni molto diverse. <\/p>\n<p>Certo, lungo questo percorso abbiamo dovuto consumare sette paia di stivali di ferro, superare diverse difficolt\u00e0, inciampare in alcuni ostacoli e correggere un certo numero di errori. Ma ora l'approccio \u00e8 stato testato e pu\u00f2 essere utilizzato per implementare Open Source al posto dei DBMS proprietari in condizioni enterprise difficili.<\/p>\n<p>Hai mai provato a lavorare con PostgreSQL in un ambiente aziendale?<\/p>\n<p><i>Autori: <\/i><\/p>\n<p><i>Oleg Lavrenov, ingegnere progettista di sistemi di archiviazione dati di \u00abInfossistemi Jet\u00bb<\/i><\/p>\n<p><i>Dmitry Yerykin, ingegnere progettista di sistemi di calcolo di \u00abInfossistemi Jet\u00bb<\/i><br \/>\n<br \/>Fonte: <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.1.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\/it\/blog\/administrirovanie\/kak-vpisat-svobodnuyu-postgresql-v-surovoe-enterprise-okruzhenie\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\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\/it\/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\udd47Come integrare PostgreSQL 'libero' in un ambiente enterprise difficile | ProHoster","description":"Molti conoscono il DBMS PostgreSQL, e ha dimostrato di essere eccellente in piccole installazioni.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/kak-vpisat-svobodnuyu-postgresql-v-surovoe-enterprise-okruzhenie","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","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\/it\/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\/it\/wp-json\/wp\/v2\/posts\/93878","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=93878"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/93878\/revisions"}],"predecessor-version":[{"id":160161,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/93878\/revisions\/160161"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/93879"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=93878"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=93878"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=93878"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}