Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A rugalmas Azure Database for PostgreSQL-kiszolgálópéldány támogatja a PostgreSQL 18., 17., 16., 15., 14., 13., 12. és 11. verzióját. A Postgres-közösség egy új főverziót ad ki, amely évente körülbelül egyszer tartalmaz új funkciókat. Emellett minden főverzió rendszeres hibajavításokat kap kisebb kiadások formájában. Az alverziófrissítések olyan módosításokat tartalmaznak, amelyek visszamenőlegesen kompatibilisek a meglévő alkalmazásokkal. Egy rugalmas Azure Database for PostgreSQL-kiszolgálópéldány rendszeresen frissíti az alverziókat az ügyfél karbantartási időszakában.
A főverzió-frissítések bonyolultabbak, mint az alverziófrissítések. Tartalmazhatnak belső módosításokat és olyan új funkciókat, amelyek esetleg nem kompatibilisek a meglévő alkalmazásokkal.
A rugalmas Azure Database for PostgreSQL-kiszolgálópéldány olyan szolgáltatással rendelkezik, amely egyetlen kattintással végrehajtja a kiszolgáló helyi főverzió-frissítését. Ez a funkció leegyszerűsíti a frissítési folyamatot azáltal, hogy minimalizálja a kiszolgálóhoz hozzáférő felhasználók és alkalmazások fennakadásait.
A helyi frissítések megtartják az aktuális kiszolgáló nevét és egyéb beállításait a főverzió frissítése után. Nem igényelnek adatmigrálást vagy az alkalmazás kapcsolati sztring módosítását. A helyi verziófrissítés gyorsabb, és rövidebb állásidőt igényel, mint az adatmigrálás.
Megjegyzés:
Az Azure Database for PostgreSQL csak a jelenleg támogatott PostgreSQL-verziókra támogatja a helyszíni főverzió-frissítéseket. Frissítheti például az aktuális verziót, mivel a célverziót az Azure a frissítés időpontjában hivatalosan is támogatja. A nem támogatott verziók nem választhatók ki frissítési célként, és ha elavult verzióra próbál frissíteni, az meghibásodást vagy szolgáltatáskimaradást okozhat. A főverzió-frissítés megkezdése előtt mindig tekintse meg az Azure PostgreSQL verziószámozási szabályzatát és a frissítés dokumentációját .
Megjegyzés:
A fő verziófrissítéseket a PostgreSQL 18-ra fokozatosan engedélyezik. Jelenleg az MVU to PostgreSQL 18 az AustraliaSoutheast, CanadaCentral, CentralIndia, CentralUS, EastAsia, EastUS, EastUS2, NorthCentralUS, SouthAfricaNorth, SouthCentralUS, SwedenCentral, WestCentralUS, WestUS2 és WestUS3 régiókban érhető el.
Frissítési folyamat
Íme néhány fontos szempont a helyszíni főverzió-frissítésekkel kapcsolatban:
- A frissítés megkezdése előtt győződjön meg arról, hogy a kiszolgáló legalább 10–20% szabad tárterület áll rendelkezésre. A frissítési folyamat során az ideiglenes naplófájlok és metaadat-műveletek növelhetik a lemezhasználatot. A szabad terület hiánya frissítési hibákat vagy visszaállítási problémákat okozhat.
- A helyszíni főverzió-frissítés során a rugalmas Azure Database for PostgreSQL-kiszolgálópéldány egy előzetes ellenőrzési eljárást futtat, amely azonosítja az esetleges problémákat, amelyek miatt a frissítés meghiúsulhat.
- Ha az előellenőrzés bármilyen inkompatibilitást talál, létrehoz egy naplóeseményt, amely azt mutatja, hogy a frissítési előellenőrzés sikertelen volt, és hibaüzenet jelenik meg.
- Ha az előzetes ellenőrzés sikeres, a rugalmas Azure Database for PostgreSQL-kiszolgálópéldány leállítja a szolgáltatást, és implicit biztonsági másolatot készít a frissítés megkezdése előtt. A szolgáltatás ezzel a biztonsági mentéssel visszaállíthatja az adatbázispéldányt a korábbi verzióra, ha frissítési hiba történt.
- Egy rugalmas Azure Database for PostgreSQL-kiszolgálópéldány a pg_upgrade eszközzel hajtja végre a helyi főverzió-frissítéseket. A szolgáltatás rugalmasságot biztosít a verziók kihagyásához és a későbbi verziókra való közvetlen frissítéshez.
- A magas rendelkezésre állású (HA) kiszolgáló helyszíni főverziójának frissítése során a szolgáltatás letiltja a HA-t, végrehajtja a frissítést az elsődleges kiszolgálón, majd a frissítés befejezése után újra engedélyezi a HA-t.
- A legtöbb bővítmény automatikusan frissül a későbbi verziókra egy helyszíni főverzió-frissítés során, néhány kivételtől eltekintve.
- A rugalmas Azure Database for PostgreSQL-kiszolgálópéldány helyi főverzió-frissítésének folyamata automatikusan telepíti a legújabb támogatott alverziót.
- A helyszíni főverzió-frissítés offline művelet, ami azt jelenti, hogy a kiszolgáló nem lesz elérhető a folyamat során. Bár a legtöbb frissítés 15 perc alatt befejeződik, a tényleges időtartam az adatbázis méretétől és összetettségétől függ. Pontosabban a szükséges idő közvetlenül arányos a PostgreSQL-példányban lévő objektumok (táblák, indexek, sémák) számával. A nagyobb vagy összetettebb sémák hosszabb frissítési időt tapasztalhatnak.
- A frissítés előtt hosszú ideig futó tranzakciók vagy nagy számítási feladatok növelhetik az adatbázis leállításához és a frissítési idő növeléséhez szükséges időt.
- A helyszíni főverzió-frissítés sikeres elvégzése után nincs automatizált mód a korábbi verzióra való visszaállításra. A frissítés előtti időpontra történő helyreállítást (PITR) azonban elvégezheti az adatbázispéldány korábbi verziójának visszaállításához.
- A rugalmas Azure Database for PostgreSQL-kiszolgálópéldány pillanatképet készít az adatbázisról a frissítés során. A pillanatkép a frissítés megkezdése előtt készül el. Ha a frissítés sikertelen, a rendszer automatikusan visszaállítja az adatbázis állapotát a pillanatképből.
- A PostgreSQL 16 szerepköralapú biztonsági intézkedéseket vezet be. A rugalmas Azure Database for PostgreSQL-kiszolgálópéldány főverzió-frissítése után a kiszolgálón létrehozott első felhasználó – aki rendszergazdai lehetőséget kap – mostantól rendszergazdai jogosultságokkal fog rendelkezni az alapvető karbantartási műveletek más szerepköreivel szemben.
Frissítési szempontok és korlátozások
Ha egy helyszíni főverzió frissítése során egy előzetes ellenőrzési művelet meghiúsul, a frissítés le lesz tiltva egy részletes hibaüzenettel. Az alábbiakban azokat az ismert korlátozásokat ismertetjük, amelyek miatt a frissítés meghiúsulhat vagy váratlanul viselkedhet:
Nem támogatott kiszolgálókonfigurációk
- Az olvasási replikák nem támogatottak a helyszíni frissítések során. Az elsődleges kiszolgáló frissítése előtt törölnie kell az olvasási replikát (beleértve a kaszkádolt olvasási replikát is). A frissítést követően újból létrehozhatja a replikát.
- A hálózati forgalmi szabályok blokkolhatják a frissítési műveleteket.
- Győződjön meg arról, hogy a rugalmas kiszolgálópéldány képes forgalmat küldeni/fogadni az 5432-ben és a 6432-ben lévő portokon a virtuális hálózaton belül, valamint az Azure Storage-ba (naplóarchiválás céljából).
- Ha a hálózati biztonsági csoportok (NSG-k) korlátozzák ezt a forgalmat, a HA nem engedélyezi újra automatikusan a frissítést követően. Előfordulhat, hogy manuálisan kell frissítenie az NSG-szabályokat, és újra engedélyeznie kell a HA-t.
- A logikai replikációs pontok nem támogatottak a helyszíni főverzió-frissítések során.
- Az SSDv2-tárolót használó kiszolgálók nem jogosultak a főverzió-frissítésekre.
- A főverzió-frissítések során a
pg_stat_activity-től függő nézetek nem támogatottak. - Ha a PG11-ről egy magasabb verzióra frissít, először konfigurálnia kell a rugalmas szervert a SCRAM-hitelesítés használatára a SCRAM engedélyezése révén és az összes bejelentkezési szerepkör jelszavának alaphelyzetbe állításával.
Bővítménykorlátozások
A helyszíni főverzió-frissítések nem támogatják az összes PostgreSQL-bővítményt. A frissítés sikertelen lesz az előzetes ellenőrzés során, ha nem támogatott bővítmények találhatók.
- Az alábbi bővítmények rendszeres használat esetén támogatottak, de ha vannak, letiltják a főverziók helyben történő frissítését. Távolítsa el őket a frissítés előtt, és engedélyezze újra őket, ha a célverzió támogatja:
timescaledb,dblink,orafce,postgres_fdw. - A következő bővítmények nem állandó segédprogrambővítmények , amelyeket el kell dobni és újra létre kell hozni a frissítés után:
pg_repack,hypopg. - A PostgreSQL 17-re való frissítéskor a következő bővítmények nem támogatottak , ezért a frissítés előtt el kell távolítani őket. Akkor engedélyezheti újra őket, ha a célverzióban támogatottak:
age,azure_ai,hll,pg_diskann,pgrouting.
Jegyzet: Ha ezen bővítmények bármelyike megjelenik a azure.extensions kiszolgálóparaméterben, a frissítés le lesz tiltva. A frissítés megkezdése előtt távolítsa el őket a paraméterből.
PostGIS-Specific szempontok
Ha PostGIS-t vagy függő bővítményeket használ, konfigurálnia kell a search_path kiszolgálóparamétert a következőkre:
- A PostGIS-hez kapcsolódó sémák
- Függő bővítmények, beleértve a következőket:
postgis,postgis_raster,postgis_sfcgal,postgis_tiger_geocoder,postgis_topology,address_standardizer,address_standardizer_data_usfuzzystrmatch - A search_path helyes konfigurálásának elmulasztása frissítési hibákhoz vagy a frissítés után hibás objektumokhoz vezethet.
Egyéb frissítési szempontok
- Eseményindítók: A frissítés előtti ellenőrzés letiltja az eseményindítókat, mert DDL-parancsokhoz csatlakoznak, és hivatkozhatnak a fő verziók között változó rendszerkatalógusokra – a frissítés előtt elvetheti az összeset
EVENT TRIGGER, majd a frissítés után újból létrehozhatja őket a zökkenőmentes frissítés érdekében. - Nagy méretű objektumok (LOs): A több millió nagy objektumot tartalmazó (tárolt
pg_largeobject) adatbázisok a magas memóriahasználat vagy a naplók mennyisége miatt frissítési hibákat okozhatnak. Használja a vacuumlo segédprogramot a nem használt LOS-k eltávolításához, és fontolja meg a kiszolgáló skálázását a frissítés előtt, ha sok LOS még használatban van.
Figyelmeztetés
Óvatosan használja a porszívót.
vacuumlo a hagyományos referenciaoszlopok (oid, lo) alapján azonosítja az árva nagyméretű objektumokat. Ha az alkalmazás egyéni vagy közvetett hivatkozástípusokat használ, előfordulhat, hogy az érvényes nagy objektumok tévesen törlődnek. Emellett jelentős processzor-, vacuumlo memória- és IOPS-kapacitást is igénybe vehet, különösen nagy méretű objektumokat tartalmazó adatbázisokban. Futtassa a karbantartási időszakokban, és először azt tesztelje a nem éles környezetben.
Frissítés után
A főverzió frissítése után javasoljuk, hogy futtassa a parancsot az ANALYZE egyes adatbázisokban a pg_statistic tábla frissítéséhez. A hiányzó vagy elavult statisztikák rossz lekérdezési tervekhez vezethetnek, ami ronthatja a teljesítményt, és túlzott memóriát vesz igénybe.
postgres=> analyze;
ANALYZE
Frissítési naplók megtekintése
A főverzió-frissítési naplók (PG_Upgrade_Logs) közvetlen hozzáférést biztosítanak a részletes kiszolgálónaplókhoz. A frissítési folyamatba való integrálással PG_Upgrade_Logs zökkenőmentesebbé és átláthatóbbá teheti az új PostgreSQL-verziókra való áttérést.
A fő verziófrissítési naplókat ugyanúgy konfigurálhatja, mint a kiszolgálónaplókat a következő kiszolgálóparaméterek használatával:
- A funkció bekapcsolásához állítsa
logfiles.download_enableértékétON-re. - A naplófájlok napokon belüli megőrzésének meghatározásához használja a következőt
logfiles.retention_days: .
Frissítési naplók beállítása
A használat PG_Upgrade_Logsmegkezdéséhez konfigurálhatja a PostgreSQL-kiszolgálónaplók és a fő verziófrissítési naplók rögzítését.
A frissítési naplókat a kiszolgálónaplók felhasználói felületén keresztül érheti el. Itt valós időben követheti nyomon a PostgreSQL főverziófrissítéseinek előrehaladását és részleteit. Ez a felhasználói felület központi helyet biztosít a naplók megtekintéséhez, így könnyebben nyomon követheti és elháríthatja a frissítési folyamatot.
A frissítési naplók használatának előnyei
-
Éleslátó diagnosztikák:
PG_Upgrade_Logsértékes betekintést nyújt a frissítési folyamatba. Részletes információkat rögzít az elvégzett műveletekről, és kiemeli az esetleges hibákat és figyelmeztetéseket. Ez a részletesség fontos szerepet játszott a frissítés során felmerülő problémák diagnosztizálásában és megoldásában, a zökkenőmentesebb átmenet érdekében. - Egyszerűsített hibaelhárítás: A naplókhoz való közvetlen hozzáféréssel gyorsan azonosíthatja és kezelheti a lehetséges frissítési akadályokat, csökkentheti az állásidőt, és minimalizálhatja a műveletekre gyakorolt hatást. A naplók kulcsfontosságú hibaelhárítási eszközként szolgálnak azáltal, hogy hatékonyabb és hatékonyabb problémamegoldást tesz lehetővé.
Megjegyzés:
A helyszíni főverzió-frissítések támogatottak az automatikusan telepített kiszolgálókon. Miután egy automatikusan migrált kiszolgálón sikeresen végrehajtottak egy helyben történő főverzió-frissítést, a username@servername formátumú felhasználónév többé nem lesz támogatott. Ehelyett a szokásos formátumot kell használnia: felhasználónév. A hitelesítési problémák elkerülése érdekében gondosan tekintse át és frissítse az alkalmazások és szkriptek összes kapcsolati sztringét, hogy a frissítés után a frissített felhasználónév formátumot használják.