Postgres pro standard de documentare 9

19.6. Actualizarea clusterului Postgres Pro

Această secțiune descrie modul de actualizare a clusterului de baze de date de la o versiune a Postgres Pro la alta.

Principalele versiuni ale Postgres Pro sunt reprezentate de primele două grupuri de cifre în versiunea completă, de exemplu, 8.4. Edițiile corective ale Postgres Pro sunt reprezentate de un al treilea grup de cifre, de exemplu, 8.4.2 - cea de-a doua versiune corectivă a versiunii 8.4. În versiunile corective, formatul de stocare internă nu se schimbă niciodată și sunt întotdeauna compatibile cu versiunile anterioare și ulterioare ale aceleiași versiuni majore, de exemplu, versiunea 8.4.2 este compatibilă cu 8.4, 8.4.1 și 8.4.6. Pentru a actualiza versiunea la una compatibilă, este suficient să înlocuiți fișierele executabile cu serverul oprit și apoi să porniți serverul. Catalogul de date nu este afectat, prin urmare actualizarea versiunii corective este destul de ușoară.

Când actualizați versiunile importante ale Postgres Pro, formatul intern de date se poate modifica, ceea ce complică procedura de actualizare. Modul tradițional de a transfera date în noua versiune principală este de a descărca datele de pe versiunea veche și apoi să le încărcați în noua versiune (aceasta nu este cea mai rapidă opțiune). Efectuarea mai rapidă a actualizării permite pg_upgrade. De asemenea, puteți utiliza replicarea pentru actualizare, așa cum este descris mai jos.

Modificările din versiunea principală aduc, de obicei, orice incompatibilități vizibile cu utilizatorul, care pot necesita finalizarea aplicațiilor. Toate aceste modificări sunt descrise în notele la comunicat (Anexa E); acordați o atenție deosebită secțiunii "Migrație" (Migrație). Dacă ignorați mai multe versiuni de bază în timpul actualizării, asigurați-vă că ați citit notele de lansare, inclusiv fiecare versiune lipsă.

Utilizatorii atenți testează, de obicei, aplicațiile clientului lor cu noua versiune înainte de a trece la el complet; astfel încât este adesea logic să instalați lângă versiunile vechi și noi. Când testați actualizarea versiunii principale a Postgres Pro, studiați următoarele domenii ale posibilelor modificări:

Instrumentele și funcțiile pe care administratorii le oferă pentru monitorizarea și gestionarea serverului sunt adesea schimbate și îmbunătățite în fiecare nouă versiune. SQL

În acest domeniu, noile caracteristici ale comenzilor SQL sunt mult mai probabil să apară decât modificările comportamentului celor existente, cu excepția cazului în care acest lucru este menționat în notele de lansare. Biblioteci API

În mod obișnuit, bibliotecile precum libpq își extind funcționalitatea numai dacă nu se menționează altfel în notele de lansare. Catalogul sistemelor

Modificările la directoarele de sistem afectează de obicei numai instrumentele de gestionare a bazelor de date. Server API pentru codul C

Acestea includ modificările aduse API-ului funcțiilor serverului care sunt scrise în limbajul de programare C. Aceste modificări afectează codul care se referă la funcțiile de serviciu adânc în interiorul serverului.

19.6.1. Actualizarea datelor utilizând pg_dumpall

Următoarele instrucțiuni presupun că serverul este instalat în directorul / usr / local / pgsql. iar datele sunt în / usr / local / pgsql / data. Trebuie să vă înlocuiți căile.

Când începeți o copie de rezervă, asigurați-vă că nu se fac modificări în baza de date. Modificările nu vor afecta integritatea copiei recepționate, însă datele modificate, prin ele însele, nu vor intra în ea. Dacă este necesar, modificați permisiunile din fișierul /usr/local/pgsql/data/pg_hba.conf (sau similar), astfel încât să vă puteți conecta numai la server. Pentru mai multe informații despre controlul accesului, consultați Capitolul 21.

Pentru a obține o copie a tuturor datelor, tastați:

Pentru a crea o copie de rezervă, puteți utiliza programul pg_dumpall din versiunea curentă a serverului; pentru detalii, consultați subsecțiunea 26.1.2. Cu toate acestea, pentru cele mai bune rezultate, ar trebui să încercați pg_dumpall din Postgres Pro 9.6.5.1, deoarece această versiune include corecții de erori și îmbunătățiri, comparativ cu versiunile anterioare. Deși acest sfat poate părea absurd, deoarece noua versiune nu este încă instalată, ar trebui urmată dacă intenționați să instalați o versiune nouă lângă vechea versiune. În acest caz, puteți efectua instalarea ca de obicei, dar transferați datele mai târziu. Aceasta va scurta și timpul de actualizare.
  • Opriți vechiul server:

    Pe sistemele în care rulează Postgres Pro pe boot, trebuie să existe un script de pornire cu care să poți face același lucru. De exemplu, în Red Hat Linux, acest lucru ar putea funcționa:

    Pentru mai multe informații despre pornirea și oprirea serverului, consultați Capitolul 19.
  • Când restaurați dintr-o copie de rezervă, ștergeți sau redenumiți vechiul director unde a fost instalat serverul, dacă numele său nu este legat de versiune. Ar fi mai bine să redenumiți directorul și să nu îl ștergeți, pentru a putea fi restaurat în caz de probleme. Cu toate acestea, rețineți că acest director poate ocupa o mulțime de spațiu pe disc. Puteți redenumi directorul, de exemplu:

    (Acest director trebuie redenumit (mutat) ca un întreg, astfel încât căile relative în el să nu se modifice.)
  • Instalați noua versiune Postgres Pro așa cum este descris în secțiunea 17.4.
  • Dacă este necesar, creați un nou grup de baze de date. Rețineți că următoarele comenzi ar trebui să fie executate sub numele unui utilizator de bază de date special (deja acționați sub acest nume dacă actualizați).
  • Mutați modificările efectuate în versiunile anterioare ale pg_hba.conf și postgresql.conf.
  • Porniți serverul bazei de date, precum și utilizând contul de utilizator special al bazei de date:
  • În cele din urmă, restaurați datele din copia de rezervă prin:

    (Aceasta va folosi noul psql.)

  • Minimizați timpul de închidere a serverului instalând un server nou într-un alt director și executând ambele servere, vechi și noi, cu porturi diferite. Apoi puteți transfera datele astfel:

    19.6.2. Actualizarea datelor utilizând pg_upgrade

    Modulul pg_upgrade vă permite să actualizați instalarea Postgres Pro de la o versiune principală la alta direct la fața locului. Această actualizare poate fi efectuată în câteva minute, mai ales în modul --link. Este nevoie de aceleași acțiuni pregătitoare ca și pentru varianta cu pg_dumpall. porniți / opriți serverul, executați initdb. Toate aceste acțiuni sunt descrise în documentația pg_upgrade.

    19.6.3. Actualizarea datelor utilizând replicarea

    De asemenea, puteți utiliza anumite metode de replicare, de exemplu, Slony. pentru a crea un server de backup cu o versiune actualizată a Postgres Pro. Acest lucru este posibil datorită faptului că Slony sprijină replicarea între diferitele versiuni majore ale Postgres Pro. Serverul de rezervă poate fi localizat pe același computer sau pe un alt computer. Odată ce ați terminat sincronizarea cu serverul principal (unde rulează vechea versiune a Postgres Pro), puteți să efectuați principalul server principal și să deconectați pur și simplu vechea instanță de bază de date. Cu acest comutator, actualizarea poate fi efectuată prin întreruperea serverului doar pentru câteva secunde.