Net-Base Časopis

27.08.2026

Nadogradnja PostgreSQL bez prekida rada: Blue/Green, replikacija i plan povratka za produktivne ERP baze podataka

Kako ažurirati PostgreSQL u produktivnim ERP-okruženjima bez zastoja: Blue/Green pristup, varijante replikacije, Cutover-dizajn i robustan plan povratka — s naglaskom na operacije, sučelja i konzistentnost podataka.

27.08.2026

Od teme magazina do projektne prakse

Povezane stranice usluga i tehnologije za članak

Jedna nadogradnja PostgreSQL-a bez prekida rada zvuči na prvi pogled kao obećanje iz cloud svijeta. U realnosti produktivne ERP-baze podataka radi se više o disciplini: morate uskladiti konzistentnost podataka, ponašanje sučelja, batch-procese, reporting, ovlasti i operativne procese tako da sama promjena verzije postane samo kontrolirani trenutak prebacivanja. Pri tome se „bez prekida rada“ rijetko shvaća apsolutno. U praksi to znači: nema primjetnog prekida za korisnike, nema neplaniranih rollbackova, nema višesatnih zaključavanja – i prije svega put povratka koji zaista funkcionira.

Ovaj članak kategorizira tipične puteve nadogradnje za PostgreSQL u ERP-okruženjima – s Blue/Green pristupom, replikacijom (fizičkom i logičkom) i planom povrata koji nije samo na papiru. Fokus je namjerno na operaciji i pitanjima odlučivanja: koja arhitektura je potrebna? Gdje leže rizici? Koji pripremni radovi troše vrijeme? I kako izbjeći da nadogradnja zakaže zbog sporednih tema poput drajvera, lanaca poslova ili nejasnog vlasništva podataka?

Zašto su ERP-baze podataka posebno osjetljive kod nadogradnji

ERP-sustavi su OLTP-intenzivni (Online Transaction Processing), dakle optimizirani za mnogo kratkih transakcija: evidentiranje dokumenata, knjiženje skladišnih premještaja, kalkulacija cijena, knjiženje uplata. Te transakcije ovise o jasnim očekivanjima: latencija mora biti stabilna, zaključavanja (Locks) ne smiju eskalirati, a sustav mora ostati predvidljiv pri vršnim opterećenjima.

Nadogradnja PostgreSQL-a upravo narušava tu stabilnost – čak i ako se aplikacija ne mijenja. Uzroci su, između ostalog:

  • Promjene u optimizatoru upita (planer): upiti mogu iznenada odabrati druge planove izvođenja. To nije „pogrešno“, ali pod opterećenjem može dovesti do novih hotspotova.
  • Promjene parametara i zadanih vrijednosti: konfiguracijske postavke ili njihovo zadano ponašanje mijenjaju se preko major verzija. To se tiče, npr., Autovacuum, WAL (Write-Ahead Log, zapisnik transakcija) ili postavki radne memorije.
  • Teme drajvera i protokola: verzije ODBC/JDBC/Npgsql, SSL/TLS-parametri, autentikacija (npr. SCRAM vs. MD5) i lanci certifikata često su skrivene blokade.
  • Ekosustav sučelja: ERP rijetko znači „samo jedna aplikacija“. Reporting, EDI, webservisi, ETL/BI, upravljanje dokumentima i batch-integracije pristupaju bazi – izravno ili neizravno.

Zaključak: nadogradnja nije samo promjena baze podataka. To je koordinirano izdanje preko aplikacije, operacija i susjednih sustava. Upravo zato su Blue/Green i replikacija vrijedni: razdvajaju tehničku promjenu od rizika dugog održavanja.

Jasno definirajte ciljeve: „bez prekida rada“ ne znači „bez prebacivanja“

Prije nego što odaberete arhitekturu, isplati se jasno definirati ciljeve prema operativnim metrikama:

  • RTO (Recovery Time Objective): Koliko brzo ERP-baza mora nakon kvara ponovno biti stabilno dostupna?
  • RPO (Recovery Point Objective): Koliko podataka (vremenski) može u najgorem slučaju biti izgubljeno? Kod stvarnih migracija bez prekida rada cilj je često RPO≈0.
  • Prozor održavanja: Postoji li „mali“ prozor (npr. nekoliko minuta) za cutover, ili ga nema uopće? U ERP okruženju prebacivanje je obično izvedivo ako se planira (izbjegavati smjene, kraj mjeseca).
  • Prihvatljivost faza samo za čitanje: Ponekad je kratka faza „čitanje da, pisanje ne“ stručno prihvatljiva, pod uvjetom da se knjiženja ne izgube.
  • Ti ciljevi određuju možete li raditi s replikacijom plus Cutover ili trebate li dodatne mehanizme za odvajanje upisa (npr. redovi u sučeljima). Tko ovdje ostane neodređen, kasnije to plaća improvizacijama pri puštanju u rad.

    Blue/Green za PostgreSQL: načelo, koristi, tipične zamke

    Blue/Green znači: postoje dvije potpune okoline paralelno. „Blue“ je produkcija, „Green“ je nova verzija. Presudna prednost nije samo mogućnost prebacivanja, već i mogućnost testiranja u realnim uvjetima: Green se može provjeriti s produkcijski bliskim podacima, stvarnim sučeljima i pravim monitoringom prije nego se korisnici prebace.

    Za PostgreSQL u ERP-kontekstu Blue/Green obično obuhvaća:

    • poseban PostgreSQL-klaster (Green) na novim hostovima/VM-ovima ili odvojenim instancama
    • identične mrežne i sigurnosne parametre (Firewall, TLS, DNS-razlučivanje, servisni računi)
    • definirano preuzimanje podataka (inicijalna kopija + delta)
    • mehanizam Cutovera (prebacivanje DNS/VIP, promjena connection stringa, Proxy)

    Što vam Blue/Green operativno stvarno pruža

    U praksi su tri točke koje čine razliku:

    • Povratak je brz: U slučaju greške prebacite se natrag umjesto da pokušavate „popraviti“ nadogradnju unatrag.
    • Smanjenje rizika kroz prethodnu validaciju: Green može proći provjere performansi i funkcionalnosti, uključujući tipično ERP-opterećenje (batch poslovi, ispis, valovi knjiženja).
    • Jasno odvajanje rizika baze podataka i aplikacije: Kad Green radi, mnoge nepoznanice su već razjašnjene (driveri, autentikacija, ekstenzije, parametri).

    Najčešći obrasci grešaka kod Blue/Green

    Blue/Green rijetko propada zbog ideje, već zbog detalja:

    • Nepotpune ovisnosti: Reporting alati ili integracije „čvrsto“ se oslanjaju na stari host (IP, alias, pinanje certifikata). Prilikom Cutovera zapnu.
    • Neprecizno vlasništvo nad sučeljima: Nitko se ne osjeća odgovornim da se svi klijenti prebace ili barem budu testirani.
    • Nedostatak validacije podataka: „Podaci su replicirani“ ne znači da je iz struke sve ispravno (npr. sekvence/identiteti, vremenske oznake, logika pomoćnih knjiga).

    Replikation als Upgrade-Werkzeug: physisch vs. logisch

    Schematische Darstellung von physischer und logischer Replikation zwischen zwei Datenbankknoten
    Fizička replikacija radi blisko uz WAL, logička replikacija prenosi promjene u tablicama – važno za glavne nadogradnje.

    Za PostgreSQL nadogradnju bez zastoja replikacija je obično temeljni mehanizam za paralelno održavanje podataka. PostgreSQL nudi različite pristupe s različitim kompromisima. Važno: „replikacija“ nije automatski „visoka dostupnost“. Za nadogradnje koristite replikaciju kao migracijsku poveznicu.

    Fizička replikacija (Streaming Replication): brza, blizu stroja

    Fizička replikacija radi na razini WAL-a: Standby prima transakcijski zapis i reproducira ga. To je izvedivo i stabilno, ali s jednom ključnom zaprekom za Major-Upgrades: obično Primary i Standby moraju biti na istoj major verziji. Pri skoku verzije, npr. s PostgreSQL 13 na 16, fizička replikacija zato pomaže više unutar iste verzije (HA, održavanje) nego kao izravan put za Major-Upgrade.

    Ipak, praktična korist u projektu nadogradnje nastaje ako koristite fizičku replikaciju kao sigurnosnu mrežu u Blue-Systemu: prije Cutovera možete osigurati da postojeća produkcija ima redundanciju dok paralelno gradite Green.

    Logička replikacija: preuzimanje delta-podataka preko publikacija/subskripcija

    Logička replikacija prenosi promjene na razini tablica (INSERT/UPDATE/DELETE) i stoga je pogodna za Major-Upgrades, jer Publisher i Subscriber mogu biti različitih major verzija (uz poštovanje odgovarajuće kompatibilnosti). Za ERP baze podataka to je često najpraktičniji put prema minimalnom prozoru za prebacivanje.

    Tipične karakteristike koje trebate planirati:

    • Inicijalni snapshot + kontinuirane promjene: Početni podatkovni skup se kopira, a promjene se potom primjenjuju.
    • DDL nije automatski uključeno: Promjene sheme (DDL, tj. tablice/stupci/indeksi) se ne repliciraju kao podatkovne promjene. Za nadogradnje je to prihvatljivo jer shema najčešće ostaje ista – no ekstenzije, uloge i dozvole morate svjesno migrirati.
    • Teme vezane uz Sequence/Identity: Sekvence (npr. za brojeve dokumenata) su kritične u ERP-u. Ovisno o postavu morate osigurati da se stanja sekvenci konzistentno preuzmu i nakon Cutovera pravilno nastave.
    • Bez konflikata: Tijekom faze replikacije trebalo bi se pisati samo na jednoj strani. Inače nastaju konflikti koje je u ERP radu teško riješiti.

    Put nadogradnje u praksi: robustan model postupanja

    Operativni tim planira korake Cutovera za prebacivanje baze podataka s runbookom i provjerama stanja
    Cutover funkcionira ako su koraci, kontrolne točke i kriteriji prekida uvježbani kao Runbook.

    Neovisno o konkretnom alatu, nadogradnja s minimalnim vremenom zastoja u ERP okruženjima obično se izvodi u jasnim fazama. Praktična struktura je:

    1) Predanaliza: Što se doista mora premjestiti?

    Ovdje se ne radi o „Instaliraj PostgreSQL X“, nego o ovisnostima:

    • Ekstenzije (npr. za punotekstno pretraživanje, zadatke, specifične tipove podataka): koje su aktivne u produkciji, a koje su prisutne samo iz povijesnih razloga?
  • Auth i uloge: lokalne uloge, LDAP/AD integracija, SCRAM, autentikacija certifikatima. Izvoz uloga i prava je zaseban radni korak.
  • Jobs i batch-pokreti: Radi li raspoređivanje izvan sustava (npr. preko jobservera) ili u bazi podataka (npr. preko ekstenzija)? Koji jobovi su kritični za prelazak (cutover) (noćna obrada, fakturacija, MRP)?
  • Okruženje potrošača: Tko čita/piše? ERP-backend, web-portali, integracijski servisi, BI/ETL, povezivanja s partnerima, DMS, monitoring.
  • Jednostavan, ali učinkovit artefakt je Application-Map: baza podataka u sredini, strelice prema svim sustavima uključujući owner i metodu preusmjeravanja (DNS, konfiguracija, Secret, proxy). To sprječava da prelazak zakaže zbog „zaboravljenih“ čitača koji iznenada imaju timeout.

    2) Green aufbauen: nicht nur Datenbank, sondern Betriebsfähigkeit

    Green ima smisla tek kad je „operativno stvaran“. To uključuje:

    • Monitoring (metrike, logovi, alarmi): ista vidljivost kao u Blue, inače je puštanje u rad bez vidljivosti.
    • Backup/RESTore: sigurnosne kopije na Green moraju funkcionirati, uključujući test oporavka (najmanje uzorkovito). Samo tako je jasno da u slučaju greške nećete izgubiti dvostruko.
    • Paritet sigurnosti: TLS-konfiguracija, cipher, lanac certifikata, HBA-pravila (Host-Based Authentication), firewall. „Kasnije otvrdnjavanje“ se osjeti pri prebacivanju.
    • Osnova performansi: latencija storagea, IOPS, CPU, RAM. Nadogradnja je dobar trenutak za ispravljanje nepovoljnih klasa pohrane ili zastarjelih VM profila.

    3) Datenübernahme: initiale Kopie und Delta-Phase

    Za velike ERP-baze podataka početna kopija često je najduži korak. Ne mora se odvijati unutar prozora održavanja ako je dobro odvojena. Ključno je da delta-faza (replikacija) radi stabilno i da je nadzirana: zaostatak, greške, neriješene promjene.

    Operativno važno: definirajte granične vrijednosti od kada uopće pokrećete prelazak (cutover). Ako Green konstantno zaostaje, prebacivanje je moguće, ali problem prenosite u produkcijski sustav.

    4) Validierung: fachlich und technisch, ohne Perfektionismus

    Validacija nije višemjesečni test-projekt, ali je više od „SELECT COUNT(*)“. U ERP-okruženjima sljedeće provjere dobro funkcioniraju:

    • Nasumične provjere na kritičnim tablicama: otvoreni stavci, zalihe, zaglavlja dokumenata/stavke, tablice određivanja cijena, dužnici/kreditori.
    • Usporedbe agregata: zbrojevi za definirane periode (promet, količine) za brzo uočavanje grubih divergencija.
    • Tehnički pokazatelji: stanje indeksa i statistika, aktivnost autovacuum, replikacijski zaostatak, ograničenja veza, latencije upita.

    Važno je odlučiti što prihvaćanje stvarno treba. Nadogradnja nije funkcionalno izdanje. Želite dokazati: isti podaci, isto ponašanje, stabilne performanse. Za to su dovoljni pouzdani, reproducibilni točke provjere.

    5) Cutover: der Umschaltmoment muss wie ein Runbook funktionieren

    Sam cutover rijetko je složen, ali je vremenski kritičan. Dobro runbook ne opisuje samo korake, već i točke provjere i kriterije za prekid. Tipični elementi:

    • Kontrola zaustavljanja pisanja: bilo putem maintenance moda aplikacije ili tehničke blokade (npr. prekid veza za uloge pisanja). Cilj: nema novih zapisa na Blue u zadnjoj fazi.
    • Dovesti replikaciju na „nulu“: pričekati dok Green ne primi sve promjene (RPO≈0).
    • Prebacivanje aplikacije: Connection-stringovi, DNS, VIP, pravilo proxyja. Ključna stvar: dosljedno za sve komponente, ne samo za ERP-backend.
    • Smoke-testovi: prijava, otvaranje matičnih podataka, knjiženje dokumenta, tipično izvješće, ping sučelja. Kratko, ali značajno.

    Plan povratka (Rollback) bez iluzija: Što zapravo možete vratiti

    Schematische Umschaltung zwischen Blue- und Green-Datenbank mit Rückschaltpfad
    Povratak je bez konflikata moguć samo do jasno definirane faze – nakon toga dosljednost podataka postaje glavno pitanje.

    Plan povratka je dio koji biste najradije „ne koristili“. Upravo zato mora biti konkretan. U Blue/Green-Setups je povratak u suštini prebacivanje natrag na Blue. Ali: čim nakon Cutovera na Green počnu dolaziti produktivni upisi, „natrag“ postaje problem s obzirom na domenu, ako Blue u međuvremenu nije primio sve upise.

    Varijante povratka i njihove posljedice

    • Odmahšnji povratak prije produktivnih upisa: Idealni slučaj. Ako prije puštanja korisnika u rad utvrdite da nešto temeljno ne funkcionira, možete se prebaciti natrag bez konflikata u podacima.
    • Povratak nakon nekoliko upisa: moguć, ali samo uz jasnu strategiju: ili ručno naknadno knjiženje (funkcionalno) ili privremena kontra-replikacija / preuzimanje delta-podataka (tehnički), što u ERP-procesima rijetko prolazi bez stresa.
    • Ne povratak, već „Fix forward“: Ako Green već piše u produkciju i tamošnji podatkovni status predstavlja novu „Single Source of Truth“, vraćanje često predstavlja veću opasnost od ciljane stabilizacije prema naprijed. To treba unaprijed prihvatiti kao opciju.

    Pouzdan plan povratka zato izričito navodi:

    • do kada je povratak „siguran“ (vremenski okvir ili faza u Runbooku)
    • koji uvjeti prekida vrijede (npr. neuspjeh Smoke-testa, pogreška sučelja, neprihvatljive sume)
    • kako teku komunikacija i odobrenja (tko odlučuje, tko se informira)

    Važnije od povratka: režim nužnog rada za sučelja

    U ERP-okruženjima su sučelja češći razlog za hektične situacije nakon Cutovera. Ako spajanja s partnerima ili interni integracijski servisi iznenada prestanu dostavljati, trebate režim nužnog rada: međuspremnici (Queues), pravila ponovnog pokretanja, jasne strategije ponovnih pokušaja. „Retry“ pritom mora biti idempotentan (ponovljivo bez dvostrukog knjiženja). To nije funkcija baze podataka, već dizajn aplikacije i integracije – ali odlučuje hoćete li nadogradnju stvarno provesti bez zastoja.

    Performanse i stabilnost nakon nadogradnje: zašto su prvih 48 sati presudni

    Mnogi timovi smatraju nadogradnju „završenom“ čim je Cutover dovršen. U praksi tada počinje faza u kojoj se profili opterećenja, ponašanje cachea i autovacuum tek smiruju. Tipične mjere koje su se pokazale učinkovitim:

    • Detaljno praćenje u prvih 48 sati: latencije upita, zaključavanja, vremena čekanja I/O operacija, obujam WAL-a, ciklusi autovacuum-a.
    • Prepoznavanje regresija plana: Pojedinačni upiti koji su ranije bili „u redu“ mogu nakon nadogradnje dominirati. Ovdje pomažu Top-lista upita i jasna eskalacija tko smije optimizirati (DBA vs. aplikacijski tim).
    • Reporting/ETL odvojeno promatrati: alati s visokim opterećenjem čitanja često su prvi koji stvaraju probleme (dugi upiti, novi planovi). Read Replicas mogu pomoći, ali moraju odgovarati ukupnom konceptu.

    Za IT-upravu je važno: planirajte ovu stabilizaciju kao dio promjene. Nadogradnja bez zastoja nije „nema napora“, već napor u pravom trenutku i s kontroliranim oblikom rizika.

    Tipične arhitektonske odluke oko ERP-a: DNS, Connection Strings, Proxies

    Cutover će biti što čišći što je jasnija točka prebacivanja. Uobičajene varijante:

    • DNS-Alias (npr. db-erp.prod): jednostavno, ali TTL (Time To Live) i klijentsko keširanje mogu produžiti vrijeme prebacivanja. Za neke drajvere DNS-keširanje zna biti iznenađujuće uporno.
    • Virtualna IP / Load Balancer: prebacivanje je tehnički brzo, ali trebate jasan koncept health-checkova, inače rutate u nestabilna stanja.
    • Connection-String po konfiguraciji/secretu: dobro kontrolirano ako imate centralnu distribuciju konfiguracija. Rizik: ne sve komponente povlače novu konfiguraciju istovremeno.
    • DB-Proxy: može pomoći centralizirati prebacivanje, ali uvodi dodatnu kompleksnost i novu kritičnu uslugu u lancu.

    Za dugogodišnji korporativni softver često je realan miks: centralne usluge se prebacuju putem konfiguracije, „stare komponente“ preko DNS-a. Važno je da to prikažete u Runbooku i testirate – uključujući „zaboravljene“ jobove na starom App-Serveru.

    Sigurnost i usklađenost: nadogradnja kao prilika, ali ne poprište sporednih tema

    Nadogradnje PostgreSQL-a dobar su povod za zatvaranje sigurnosnih rupa: zastarjele metode autentikacije, preširoke role, nejasne mrežne dozvole. Istovremeno sigurnost ne smije prerasti u nekontrolirano povećavanje opsega promjena.

    Pragmatičan pristup:

    • Security-Parität zum Cutover: Green mora biti najmanje jednako siguran kao Blue, poželjno s malim, jasnim poboljšanjima (npr. TLS-Defaults, SCRAM umjesto MD5, RESTriktivnija HBA-pravila).
    • Veće preinake odgoditi: refaktoring uloga, stroga mrežna segmentacija ili opsežna rotacija tajni (secrets) su vrijedni, ali bolje ih provesti kao zaseban paket promjena nakon stabilizacije.

    Realno procijeniti napor: gdje projekti u praksi gube vrijeme

    Za planiranje i komunikaciju pomaže iskrena struktura napora. Iz iskustva, najveći gubitak vremena nisu „instalirati PostgreSQL“, nego:

    • Inventar potrošača: pronaći sve čitače/pisce, razjasniti vlasnike, definirati put prebacivanja.
    • Testni podaci i testno okruženje: podaci bliski produkciji (uz poštivanje zaštite podataka) i realno opterećenje su presudni, inače testirate mimo problema.
    • Runbooks und Freigaben: Tko smije što u održavnom prozoru? Tko odlučuje o rollbacku? Tko komunicira? Bez jasnoće nastaju kašnjenja u kritičnom trenutku.
    • Teme drajvera/TLS: male inkompatibilnosti mogu proizvesti velike simptome (sporadični prekidi veze, pogreške autentikacije, prekoračenja vremena).

    Ako ove točke od početka vodite kao zasebne radne pakete, iz „nadogradnje“ će nastati upravljiv projekt umjesto nervoznog vikenda.

    Zaključak: Nadogradnja PostgreSQL-a bez prekida rada prije svega je operativni dizajn

    Nadogradnja PostgreSQL-a bez prekida rada ne postiže se jednim trikom, nego arhitekturom koja čini prebacivanje i povratak upravljivim. Blue/Green osigurava potrebnu separaciju, replikacija pruža podatkovni most, a realističan plan povratka sprječava da tim u slučaju pogreške mora birati između gubitka podataka i višesatnog prekida rada.

    Ako precizno inventarizirate okruženje potrošača, izgradite Green kao operativno funkcionalno okruženje (nadgledanje, sigurnosne kopije, sigurnost), nadgledate preuzimanje podataka i vježbate Cutover kao runbook s kriterijima za obustavu, skok verzije postaje kontrolirana promjena – čak i kod produktivnih ERP baza podataka s mnogobrojnim sučeljima.

    Ako želite strukturirano pripremiti nadogradnju vaše ERP baze podataka i pritom zajednički razmotriti arhitekturu, sučelja i plan povratka, razgovarajte s nama:

    Za ovu temu su također važni Blue/Green Deployment i Cutover-Plan. Članak te aspekte jasno razlaže i pokazuje na što treba obratiti pažnju u svakodnevnoj praksi.

    Razgovarajte o projektu ili modernizacijskom pothvatu s Net-Base.

    sljedeći korak

    Ako se tema pretvori u stvarni projekt, arhitekturu, postojeće sustave i operacije trebalo bi rano zajednički razmotriti.

    Podržavamo vas ne samo u pojedinačnim pitanjima, već i kada iz isječaka izvornog koda, naslijeđenih sustava ili ideja za portale treba nastati pouzdan poslovni projekt.

    • Postojeće stanje, ciljna slika i tehnički rizici procjenjuju se zajedno.
    • REST, pristup podacima, portali i rollout neće biti odgođeni kao naknadne posljedice.
    • Rano prepoznajete koji je put ekonomski i operativno održiv.

    Podijeli objavu

    Izravno proslijedite ovu objavu

    LinkedIn, X, XING, Facebook, WhatsApp i e-pošta su odmah dostupni. Za Instagram odmah pripremamo poveznicu i kratak tekst.

    E-pošta

    Instagram se otvara u novoj kartici. Link i kratki tekst se prethodno kopiraju u međuspremnik.