Dela via


Större versionsuppgraderingar i Azure Database for PostgreSQL – flexibel server

GÄLLER FÖR: Azure Database for PostgreSQL – flexibel server

Azure Database for PostgreSQL – flexibel server stöder PostgreSQL-versionerna 16, 15, 14, 13, 12 och 11. Postgres-communityn släpper en ny huvudversion som innehåller nya funktioner ungefär en gång om året. Dessutom får varje större version periodiska felkorrigeringar i form av mindre versioner. Delversionsuppgraderingar omfattar ändringar som är bakåtkompatibla med befintliga program. Azure Database for PostgreSQL – flexibel server uppdaterar regelbundet de mindre versionerna under kundens underhållsperiod.

Större versionsuppgraderingar är mer komplicerade än delversionsuppgraderingar. De kan innehålla interna ändringar och nya funktioner som kanske inte är bakåtkompatibla med befintliga program.

Azure Database for PostgreSQL – flexibel server har en funktion som utför en huvudversionsuppgradering på plats av servern med bara ett klick. Den här funktionen förenklar uppgraderingsprocessen genom att minimera störningarna för användare och program som har åtkomst till servern.

Uppgraderingar på plats behåller servernamnet och andra inställningar för den aktuella servern efter uppgraderingen av en huvudversion. De kräver inte datamigrering eller ändringar i programmet niska veze. Uppgraderingar på plats går snabbare och innebär kortare stilleståndstid än datamigrering.

Process

Här är några av de viktiga övervägandena med huvudversionsuppgraderingar på plats:

  • Under processen med en uppgradering av huvudversionen på plats kör Azure Database for PostgreSQL flexibel server en förkontrollprocedur för att identifiera eventuella problem som kan orsaka att uppgraderingen misslyckas.

    Om förkontrollen hittar eventuella inkompatibiliteter skapar den en logghändelse som visar att förkontrollen av uppgraderingen misslyckades, tillsammans med ett felmeddelande.

    Om förkontrollen lyckas stoppar Azure Database for PostgreSQL flexibel server tjänsten och tar en implicit säkerhetskopia precis innan uppgraderingen påbörjas. Tjänsten kan använda den här säkerhetskopian för att återställa databasinstansen till sin tidigare version om det uppstår ett uppgraderingsfel.

  • Azure Database for PostgreSQL – flexibel server använder verktyget pg_upgrade för att utföra huvudversionsuppgraderingar på plats. Tjänsten ger flexibiliteten att hoppa över versioner och uppgradera direkt till senare versioner.

  • Under en huvudversionsuppgradering på plats av en server som är aktiverad för hög tillgänglighet (HA) inaktiverar tjänsten HA, utför uppgraderingen på den primära servern och aktiverar ha igen när uppgraderingen är klar.

  • De flesta tillägg uppgraderas automatiskt till senare versioner under en huvudversionsuppgradering på plats, med vissa undantag.

  • Processen med en huvudversionsuppgradering på plats för flexibel Azure Database for PostgreSQL-server distribuerar automatiskt den senaste delversionen som stöds.

  • En huvudversionsuppgradering på plats är en offlineåtgärd som resulterar i en kort stilleståndstid. Stilleståndstiden är vanligtvis mindre än 15 minuter. Varaktigheten kan variera beroende på antalet systemtabeller som ingår.

  • Långvariga transaktioner eller hög arbetsbelastning före uppgraderingen kan öka tiden det tar att stänga av databasen och öka uppgraderingstiden.

  • När en huvudversionsuppgradering på plats har slutförts finns det inga automatiserade sätt att återgå till den tidigare versionen. Du kan dock utföra en återställning till tidpunkt (PITR) till en tid före uppgraderingen för att återställa den tidigare versionen av databasinstansen.

  • Azure Database for PostgreSQL – flexibel server tar en ögonblicksbild av databasen under en uppgradering. Ögonblicksbilden tas innan uppgraderingen startar. Om uppgraderingen misslyckas återställer systemet automatiskt databasen till dess tillstånd från ögonblicksbilden.

  • PostgreSQL 16 introducerar rollbaserade säkerhetsåtgärder . Efter en större versionsuppgradering på Azure Database for PostgreSQL – flexibel server har den första användaren som skapats på servern – som har beviljats administratörsalternativet – nu administratörsbehörighet för andra roller för viktiga underhållsåtgärder.

Efter uppgradering/migrering

När uppgraderingen av huvudversionen är klar rekommenderar vi att du kör ANALYZE kommandot i varje databas för att uppdatera pg_statistic tabellen. Annars kan du stöta på prestandaproblem.

postgres=> analyze;
ANALYZE

Huvudversionsuppgraderingsloggar

Huvudversionsuppgraderingsloggar (PG_Upgrade_Logs) ger direkt åtkomst till detaljerade serverloggar. Genom att PG_Upgrade_Logs integrera i uppgraderingsprocessen kan du säkerställa en smidigare och mer transparent övergång till nya PostgreSQL-versioner.

Du kan konfigurera dina huvudversionsuppgraderingsloggar på samma sätt som serverloggar med hjälp av följande serverparametrar:

  • Om du vill aktivera funktionen anger du logfiles.download_enable till ON.
  • Om du vill definiera kvarhållning av loggfiler i dagar använder du logfiles.retention_days.

Installation av uppgraderingsloggar

Om du vill börja använda PG_Upgrade_Logskan du konfigurera loggarna via antingen Azure-portalen eller Azure CLI. Välj den metod som passar ditt arbetsflöde bäst.

Du kan komma åt uppgraderingsloggarna via användargränssnittet för serverloggar. Där kan du övervaka förloppet och informationen om dina postgreSQL-huvudversionsuppgraderingar i realtid. Det här användargränssnittet tillhandahåller en central plats för att visa loggar, så att du enklare kan spåra och felsöka uppgraderingsprocessen.

Fördelar med att använda uppgraderingsloggar

  • Insiktsfull diagnostik: PG_Upgrade_Logs ger värdefulla insikter om uppgraderingsprocessen. Den samlar in detaljerad information om de åtgärder som utförs och visar eventuella fel eller varningar som inträffar. Den här detaljnivån är avgörande för att diagnostisera och lösa problem som kan uppstå under uppgraderingen för en smidigare övergång.
  • Effektiv felsökning: Med direkt åtkomst till dessa loggar kan du snabbt identifiera och åtgärda potentiella uppgraderingshinder, minska stilleståndstiden och minimera påverkan på dina åtgärder. Loggarna fungerar som ett viktigt felsökningsverktyg genom att möjliggöra effektivare och effektivare problemlösning.

Begränsningar

Om förkontrollåtgärder misslyckas för en huvudversionsuppgradering på plats misslyckas uppgraderingen med ett detaljerat felmeddelande för alla följande begränsningar:

  • Huvudversionsuppgraderingar på plats stöder för närvarande inte läsrepliker. Om du har en server som fungerar som en läsreplik måste du ta bort repliken innan du utför uppgraderingen på den primära servern. Efter uppgraderingen kan du återskapa repliken.

  • Azure Database for PostgreSQL – Flexibel server kräver möjligheten att skicka och ta emot trafik till målportarna 5432 och 6432 i det virtuella nätverket där den flexibla servern distribueras och till Azure Storage för loggarkivering.

    Om du konfigurerar nätverkssäkerhetsgrupper (NSG:er) för att begränsa trafik till eller från din flexibla server i dess distribuerade undernät bör du tillåta trafik till målportarna 5432 och 6432 i undernätet. Tillåt trafik till Azure Storage med hjälp av tjänsttaggen Azure Storage som mål.

    Om nätverksregler inte har konfigurerats korrekt aktiveras inte HA automatiskt efter en större versionsuppgradering, och du bör aktivera HA manuellt. Ändra NSG-reglerna för att tillåta trafik för målportarna och lagringen och för att aktivera en HA-funktion på servern.

  • Huvudversionsuppgraderingar på plats stöder inte vissa tillägg och det finns vissa begränsningar för att uppgradera vissa tillägg. Följande tillägg stöds inte för alla PostgreSQL-versioner: Timescaledb, , pgauditdblink, orafce, , pg_partman, postgres_fdw.

  • När du uppgraderar servrar med PostGIS-tillägget installerat anger du search_path att serverparametern uttryckligen ska inkludera:

    • Scheman för PostGIS-tillägget.
    • Tillägg som är beroende av PostGIS.
    • Tillägg som fungerar som beroenden för följande tillägg: postgis, , postgis_raster, postgis_tiger_geocoderpostgis_sfcgal, postgis_topology, address_standardizer, , address_standardizer_data_us, ( fuzzystrmatch krävs för postgis_tiger_geocoder).
  • Servrar som konfigurerats med logiska replikeringsfack stöds inte.

  • Servrar som använder SSDv2-lagring stöder inte större versionsuppgraderingar.

Nästa steg