{"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 PostgreSQL \"libero\" in un rigido ambiente enterprise","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Molti conoscono il database PostgreSQL, che ha dimostrato di essere efficace in installazioni di piccole dimensioni. Tuttavia, la tendenza a passare all'Open Source \u00e8 diventata sempre pi\u00f9 evidente, anche per le grandi aziende e le esigenze enterprise. In questo articolo, parleremo di come integrare Postgres in un ambiente aziendale e condivideremo la nostra esperienza nella creazione di 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 PostgreSQL &quot;libero&quot; 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 il suo valore: il database funziona bene, \u00e8 utilizzato da aziende digitali rinomate come Alibaba e TripAdvisor, e l'assenza di costi di licenza lo rende un'alternativa attraente a giganti come MS SQL o Oracle DB. Tuttavia, quando iniziamo a considerare PostgreSQL nel contesto Enterprise, ci imbattiamo immediatamente in requisiti rigorosi: \"Come gestiamo la resilienza della configurazione? La recovery da disastri? Dove si trova il monitoraggio completo? Il backup automatizzato? L'uso delle librerie a nastro sia direttamente che come storage secondario?\"<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n<img decoding=\"async\" alt=\"Come integrare PostgreSQL &quot;libero&quot; 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 database 'maturi' RMAN di Oracle DB o SAP Database Backup. Dall'altro, i fornitori di sistemi di backup aziendale (Veeam, Veritas, Commvault) supportano 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 appositamente progettati per PostgreSQL, come Barman, Wal-g, pg_probackup, sono estremamente popolari in installazioni di piccole dimensioni o dove non sono richiesti pesanti backup di altri elementi del panorama IT. Ad esempio, oltre a PostgreSQL, nell'infrastruttura possono esserci sistemi fisici e virtuali, OpenShift, Oracle, MariaDB, Cassandra, ecc. \u00c8 preferibile eseguire backup con uno strumento comune. Utilizzare una soluzione separata esclusivamente per PostgreSQL \u00e8 una cattiva idea: i dati verrebbero copiati su disco per poi essere trasferiti su nastro. Questa duplicazione del backup aumenta il tempo di backup e, cosa pi\u00f9 critica, il tempo di ripristino. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/it\/server\/\"   title=\"server\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1900\">server<\/a>In una soluzione enterprise, il backup dell'installazione avviene su un certo numero di nodi di un cluster dedicato. Tuttavia, ad esempio, Commvault funziona solo con un cluster a due nodi in cui Primary e Secondary sono rigidamente assegnati a nodi specifici. Ha senso effettuare il backup solo dal Primary, dato che il backup dal Secondary presenta le sue limitazioni. A causa delle caratteristiche del database, il dump non viene creato sul Secondary, quindi rimane solo l'opzione del backup a livello di file.<\/p>\n<p>Per ridurre il rischio di inattivit\u00e0, nella creazione di un sistema di failover viene creata una configurazione cluster 'viva', e il Primary pu\u00f2 migrare gradualmente tra diversi server. Ad esempio, il software Patroni avvia il Primary su un nodo randomizzato del cluster. Il SRK non ha modo di monitorare questo 'out-of-the-box', e se la configurazione cambia, i processi si rompono. Cio\u00e8, l'implementazione di una gestione esterna ostacola il corretto funzionamento del SRK, poich\u00e9 il server di gestione non comprende quali dati copiare e da quale fonte.<\/p>\n<p>Un'altra problematica riguarda la realizzazione del backup in Postgres. \u00c8 possibile tramite dump, e per piccole basi funziona. Ma nelle grandi basi, il dump richiede tempo, molte risorse e pu\u00f2 portare a un crash dell'istanza del database.<\/p>\n<p>Il backup a livello di file migliora la situazione, ma sulle grandi basi \u00e8 lento, poich\u00e9 funziona in modalit\u00e0 single-threaded. Inoltre, i fornitori impongono una serie di limitazioni aggiuntive. Si pu\u00f2 non utilizzare contemporaneamente il backup a livello di file e il backup a livello di dump, oppure non si supporta la deduplicazione. Ci sono molte problematiche, e spesso \u00e8 pi\u00f9 semplice scegliere un costoso ma collaudato DB rispetto a Postgres.<\/p>\n<p>Non si pu\u00f2 tornare indietro! Mosca \u00e8 alle spalle della squadra di sviluppatori!<\/p>\n<h2>Tuttavia, recentemente il nostro team si \u00e8 trovato di fronte a una sfida difficile: nel progetto di creazione del SIS OSAGO 2.0, dove abbiamo sviluppato l'infrastruttura IT, gli sviluppatori hanno scelto PostgreSQL per il nuovo sistema.<\/h2>\n<p>\nPer i grandi sviluppatori di software, utilizzare soluzioni open-source 'alla moda' \u00e8 molto pi\u00f9 semplice. Nel personale di Facebook ci sono abbastanza specialisti che mantengono il funzionamento di questo database. Nel caso dell'RSA, tutte le attivit\u00e0 'del secondo giorno' gravavano sulle nostre spalle. Ci \u00e8 stato richiesto di garantire la resilienza, costruire un cluster e, naturalmente, impostare il backup. La logica delle azioni era la seguente: <\/p>\n<p>Insegnare al SRK a effettuare il backup dalla nodo Primary del cluster. Per questo, il SRK deve trovarlo \u2014 quindi \u00e8 necessaria un'integrazione con qualche soluzione di gestione del cluster PostgreSQL. Nel caso dell'RSA, \u00e8 stato utilizzato il software Patroni. <\/p>\n<ul>\n<li>Insegnare a SRK come eseguire il backup dalla nodo primario del cluster. Per questo SRK deve essere in grado di trovarlo, 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 alle esigenze di ripristino. Ad esempio, quando \u00e8 necessario ripristinare le pagine in modo granulare, utilizzare un dump; se i database sono grandi e non \u00e8 necessario un ripristino granulare, lavorare a livello di file.<\/li>\n<li>Incorporare nella soluzione la possibilit\u00e0 di backup a livello di blocco, per creare backup in modalit\u00e0 multithreading.<\/li>\n<\/ul>\n<p>\nFin dall'inizio, il nostro obiettivo era creare un sistema efficiente e semplice, senza una complessa struttura di componenti aggiuntivi. Meno elementi superflui comportano una minore pressione sul personale e un rischio ridotto di malfunzionamento del sistema di backup. Abbiamo subito escluso approcci che utilizzavano Veeam e RMAN, poich\u00e9 la combinazione di due soluzioni suggerisce gi\u00e0 inaffidabilit\u00e0 del sistema.<\/p>\n<h2>Un po' di magia per l'enterprise<\/h2>\n<p>\nQuindi, dovevamo garantire un backup affidabile per 10 cluster ciascuno con 3 nodi, con un'infrastruttura speculare nel centro dati di backup. I centri dati, per quanto riguarda PostgreSQL, funzionano su un principio attivo-passivo. Il volume totale dei database ammontava a 50 TB. Qualunque sistema di backup di livello enterprise pu\u00f2 gestirlo facilmente. Tuttavia, il problema \u00e8 che inizialmente PostgreSQL non ha alcun appiglio per una compatibilit\u00e0 completa e profonda con i sistemi di backup. Pertanto, abbiamo dovuto cercare una soluzione che avesse il massimo delle funzionalit\u00e0 in combinazione con PostgreSQL e perfezionare il sistema. <\/p>\n<p>Abbiamo condotto 3 hackathon interni: abbiamo esaminato pi\u00f9 di cinquanta progetti, testandoli, apportando modifiche basate sulle nostre ipotesi, e verificando nuovamente. Dopo aver analizzato le opzioni disponibili, abbiamo scelto Commvault. Questo prodotto poteva gi\u00e0 funzionare, \u2018out of the box\u2019, con una semplice installazione cluster di PostgreSQL, e la sua architettura aperta ci dava speranza (che \u00e8 stata ripagata) per un'integrazione e un miglioramento di successo. Inoltre, Commvault \u00e8 in grado di eseguire backup dei log di PostgreSQL. Ad esempio, Veritas NetBackup pu\u00f2 effettuare solo backup completi per PostgreSQL.<\/p>\n<p>Ulteriori dettagli sull'architettura. I server di gestione di Commvault sono stati installati in ciascuno dei due centri dati in configurazione CommServ HA. Il sistema \u00e8 speculare, gestito tramite un'unica console e risponde a tutti i requisiti enterprise in termini di alta disponibilit\u00e0.<\/p>\n<p><img decoding=\"async\" alt=\"Come integrare PostgreSQL &quot;libero&quot; in un rigido ambiente enterprise\" src=\"\/wp-content\/uploads\/2020\/09\/461b05425385435fee233846516e328d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nInoltre, in ciascun centro dati abbiamo avviato due server multimediali fisici, collegati tramite SAN via Fibre Channel a sistemi di archiviazione dedicati per i backup e librerie a nastro. Le basi deduplicate distribuite garantiscono resilienza ai server multimediali, mentre il collegamento di ciascun server a ciascun CSV consente un funzionamento continuo anche in caso di guasto di uno qualsiasi dei componenti. L'architettura del sistema permette di continuare i backup anche se uno dei centri dati va in panne.<\/p>\n<p>Patroni determina il nodo Primario per ogni cluster. Pu\u00f2 essere qualsiasi nodo libero nel centro dati \u2014 ma solo in quello principale. Negli ambienti di backup, tutti i nodi sono secondari. <\/p>\n<p>Per consentire a Commvault di comprendere qual \u00e8 il nodo Primario del cluster, abbiamo integrato il sistema (grazie all'architettura aperta della soluzione) con Postgres. A tale scopo, \u00e8 stato creato uno script che informa il gestore della posizione attuale del nodo Primario. <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 si svolge cos\u00ec:<\/p>\n<p>Patroni sceglie il Primario \u2192 Keepalived attiva l'IP del cluster e avvia lo script \u2192 l'agente Commvault sul nodo selezionato del cluster riceve la notifica che \u00e8 il Primario \u2192 Commvault ri-configura automaticamente il backup nell'ambito del pseudo-client.<\/p>\n<p><img decoding=\"async\" alt=\"Come integrare PostgreSQL &quot;libero&quot; 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 n\u00e9 sulla coerenza n\u00e9 sulla correttezza dei log, n\u00e9 sul ripristino dell'istanza di Postgres. \u00c8 anche facilmente scalabile, poich\u00e9 non \u00e8 pi\u00f9 necessario fissare i nodi Primari e Secondari per Commvault. \u00c8 sufficiente che il sistema capisca dove si trova il Primario, e il numero di nodi pu\u00f2 essere aumentato praticamente a qualsiasi valore.<\/p>\n<p>La soluzione non si pretende perfetta e presenta alcune peculiarit\u00e0. Commvault \u00e8 in grado di eseguire il backup solo dell'intera istanza, non di singoli database. Pertanto, per ogni database \u00e8 stato creato un'istanza separata. I clienti reali sono stati uniti in pseudo-client virtuali. Ogni pseudo-client di Commvault rappresenta un cluster UNIX. In esso vengono aggiunti i nodi del cluster sui quali \u00e8 installato l'agente Commvault per Postgres. Di conseguenza, tutte le nodi virtuali del pseudo-client vengono sottoposte a backup come un'unica istanza. <\/p>\n<p>All'interno di ogni pseudo-cliente \u00e8 indicato il nodo attivo del cluster. Questo \u00e8 precisamente ci\u00f2 che la nostra soluzione di integrazione definisce per Commvault. Il funzionamento \u00e8 piuttosto semplice: se su un nodo viene attivato un IP di cluster, lo script imposta nel binario dell'agente Commvault il parametro \"nodo attivo\" \u2014 in effetti, lo script inserisce \"1\" nella parte corretta della memoria. L'agente trasferisce questi dati a CommServe, e Commvault esegue il backup dal nodo corretto. Inoltre, a livello di script, viene verificata la correttezza della configurazione, aiutando a evitare errori durante l'avvio del backup.<\/p>\n<p>In questo modo, grandi database vengono eseguiti in backup a blocchi tramite pi\u00f9 thread, soddisfacendo i requisiti RPO e le finestre di backup. Il carico sul sistema \u00e8 minimo: i backup completi non avvengono molto spesso, nei giorni restanti vengono raccolti solo i log, e questo durante i periodi di bassa richiesta. <\/p>\n<p>A proposito, abbiamo applicato politiche specifiche per il backup dei log archivi di PostgreSQL \u2014 questi vengono conservati secondo regole diverse, copiati a orari differenti e non viene attivata la deduplica, poich\u00e9 questi log contengono dati unici.<\/p>\n<p>Per garantire la coerenza dell'intera infrastruttura IT, client di file Commvault sono installati su ciascun nodo del cluster. Essi escludono dai backup i file Postgres e sono dedicati esclusivamente al backup del sistema operativo e delle applicazioni. Anche per questa parte dei dati \u00e8 prevista una politica e un periodo di conservazione specifici. <\/p>\n<p><img decoding=\"async\" alt=\"Come integrare PostgreSQL &quot;libero&quot; 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 dell'impresa.<\/p>\n<p>I parametri RPO e RTO di 1 ora e 2 ore sono ampiamente soddisfatti, il che significa che il sistema continuer\u00e0 a rispettarli anche con un significativo aumento dei dati memorizzati. Contrariamente a molte preoccupazioni, PostgreSQL e ambiente enterprise si sono rivelati perfettamente compatibili. E ora sappiamo per esperienza che il backup per database di questo tipo \u00e8 possibile in molte configurazioni diverse. <\/p>\n<p>Certo, lungo questo percorso abbiamo dovuto consumare sette paia di stivali di ferro, affrontare una serie di difficolt\u00e0, calpestare alcuni rastrelli e correggere un certo numero di errori. Ma ora il metodo \u00e8 stato testato e pu\u00f2 essere applicato per implementare Open Source al posto di database proprietari in condizioni aziendali 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 \"Infossistemi Jet\"<\/i><\/p>\n<p><i>Dmitry Yerikin, ingegnere progettista di complessi elaborativi \"Infossistemi Jet\"<\/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.0.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.0.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 database PostgreSQL, che ha dimostrato di essere eccellente in installazioni di piccole dimensioni.","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}]}}