Delen via


Upgrades van primaire versies in Azure Database for PostgreSQL - Flexible Server

VAN TOEPASSING OP: Azure Database for PostgreSQL - Flexibele server

Azure Database for PostgreSQL Flexibele server ondersteunt PostgreSQL-versies 16, 15, 14, 13, 12 en 11. De Postgres-community brengt een nieuwe primaire versie uit die ongeveer één keer per jaar nieuwe functies bevat. Daarnaast ontvangt elke primaire versie periodieke bugfixes in de vorm van secundaire releases. Secundaire versie-upgrades omvatten wijzigingen die compatibel zijn met bestaande toepassingen. Flexibele Azure Database for PostgreSQL-server werkt regelmatig de secundaire versies bij tijdens het onderhoudsvenster van een klant.

Upgrades van primaire versies zijn ingewikkelder dan upgrades van secundaire versies. Ze kunnen interne wijzigingen en nieuwe functies bevatten die mogelijk niet achterwaarts compatibel zijn met bestaande toepassingen.

Azure Database for PostgreSQL flexibele server heeft een functie die met slechts één klik een in-place primaire versie-upgrade van de server uitvoert. Deze functie vereenvoudigt het upgradeproces door de onderbreking van gebruikers en toepassingen die toegang hebben tot de server te minimaliseren.

In-place upgrades behouden de servernaam en andere instellingen van de huidige server na de upgrade van een primaire versie. Ze vereisen geen gegevensmigratie of wijzigingen in de verbindingsreeks s van de toepassing. In-place upgrades zijn sneller en hebben een kortere downtime dan gegevensmigratie.

Proces

Hier volgen enkele belangrijke overwegingen met in-place primaire versie-upgrades:

  • Tijdens het proces van een in-place primaire versie-upgrade voert azure Database for PostgreSQL flexibele server een procedure vooraf uit om mogelijke problemen te identificeren die de upgrade kunnen veroorzaken.

    Als met de controle vooraf compatibiliteitsproblemen worden gevonden, wordt er een logboekgebeurtenis gemaakt die laat zien dat de upgrade vooraf is mislukt, samen met een foutbericht.

    Als de controle vooraf is geslaagd, stopt azure Database for PostgreSQL flexibele server de service en maakt u een impliciete back-up net voordat u de upgrade start. De service kan deze back-up gebruiken om het database-exemplaar te herstellen naar de vorige versie als er een upgradefout optreedt.

  • Azure Database for PostgreSQL Flexibele server maakt gebruik van het hulpprogramma pg_upgrade voor het uitvoeren van in-place primaire versie-upgrades. De service biedt de flexibiliteit om versies over te slaan en rechtstreeks naar latere versies te upgraden.

  • Tijdens een in-place primaire versie-upgrade van een server die is ingeschakeld voor hoge beschikbaarheid (HA), schakelt de service hoge beschikbaarheid uit, voert de upgrade uit op de primaire server en schakelt de hoge beschikbaarheid vervolgens opnieuw in nadat de upgrade is voltooid.

  • De meeste extensies worden automatisch bijgewerkt naar latere versies tijdens een in-place primaire versie-upgrade, met enkele uitzonderingen.

  • Tijdens het proces van een in-place primaire versie-upgrade voor een flexibele Azure Database for PostgreSQL-server wordt automatisch de meest recente ondersteunde secundaire versie geïmplementeerd.

  • Een in-place primaire versie-upgrade is een offlinebewerking die resulteert in een korte periode van downtime. De downtime is doorgaans minder dan 15 minuten. De duur kan variëren, afhankelijk van het aantal betrokken systeemtabellen.

  • Langlopende transacties of een hoge workload voordat de upgrade duurt, kan de tijd die nodig is om de database af te sluiten, verhogen en de upgradetijd verhogen.

  • Nadat een in-place primaire versie-upgrade is voltooid, zijn er geen geautomatiseerde manieren om terug te keren naar de eerdere versie. U kunt echter een herstel naar een bepaald tijdstip (PITR) uitvoeren voordat de upgrade de vorige versie van het database-exemplaar herstelt.

  • Azure Database for PostgreSQL Flexible Server maakt een momentopname van uw database tijdens een upgrade. De momentopname wordt gemaakt voordat de upgrade wordt gestart. Als de upgrade mislukt, herstelt het systeem uw database automatisch naar de status van de momentopname.

  • PostgreSQL 16 introduceert op rollen gebaseerde beveiligingsmaatregelen . Na een upgrade van een primaire versie op Azure Database for PostgreSQL Flexible Server heeft de eerste gebruiker die is gemaakt op de server, die de optie ADMIN krijgt, nu beheerdersbevoegdheden voor andere rollen voor essentiële onderhoudsbewerkingen.

Na de upgrade/migratie

Nadat de upgrade van de primaire versie is voltooid, raden we u aan de ANALYZE opdracht in elke database uit te voeren om de pg_statistic tabel te vernieuwen. Anders kunnen er prestatieproblemen optreden.

postgres=> analyze;
ANALYZE

Upgradelogboeken van primaire versie

Upgradelogboeken voor primaire versies (PG_Upgrade_Logs) bieden directe toegang tot gedetailleerde serverlogboeken. PG_Upgrade_Logs Integratie in uw upgradeproces kan helpen bij een soepelere en transparantere overgang naar nieuwe PostgreSQL-versies.

U kunt uw primaire versie-upgradelogboeken op dezelfde manier configureren als serverlogboeken, met behulp van de volgende serverparameters:

  • Als u de functie wilt inschakelen, stelt u in logfiles.download_enable op ON.
  • Als u de retentie van logboekbestanden in dagen wilt definiëren, gebruikt u logfiles.retention_days.

Installatie van upgradelogboeken

Als u wilt beginnen met het gebruik PG_Upgrade_Logs, kunt u de logboeken configureren via De Azure-portal of de Azure CLI. Kies de methode die het beste past bij uw werkstroom.

U kunt de upgradelogboeken openen via de gebruikersinterface voor serverlogboeken. Daar kunt u de voortgang en details van uw primaire postgreSQL-versie-upgrades in realtime bewaken. Deze gebruikersinterface biedt een centrale locatie voor het weergeven van logboeken, zodat u het upgradeproces gemakkelijker kunt bijhouden en problemen kunt oplossen.

Voordelen van het gebruik van upgradelogboeken

  • Inzichtelijke diagnostische gegevens: PG_Upgrade_Logs biedt waardevolle inzichten in het upgradeproces. Het legt gedetailleerde informatie vast over de uitgevoerde bewerkingen en markeert eventuele fouten of waarschuwingen die optreden. Dit detailniveau is van groot belang bij het diagnosticeren en oplossen van problemen die zich kunnen voordoen tijdens de upgrade, voor een soepelere overgang.
  • Gestroomlijnde probleemoplossing: Met directe toegang tot deze logboeken kunt u snel potentiële upgradeproblemen identificeren en aanpakken, downtime verminderen en de impact op uw bewerkingen minimaliseren. De logboeken fungeren als een cruciaal hulpprogramma voor probleemoplossing door efficiëntere en effectievere probleemoplossing mogelijk te maken.

Beperkingen

Als de bewerkingen vooraf controleren mislukken voor een in-place primaire versie-upgrade, mislukt de upgrade met een gedetailleerd foutbericht voor alle volgende beperkingen:

  • In-place primaire versie-upgrades bieden momenteel geen ondersteuning voor leesreplica's. Als u een server hebt die fungeert als een leesreplica, moet u de replica verwijderen voordat u de upgrade uitvoert op de primaire server. Na de upgrade kunt u de replica opnieuw maken.

  • Azure Database for PostgreSQL - Flexible Server vereist de mogelijkheid om verkeer te verzenden en te ontvangen naar doelpoorten 5432 en 6432 binnen het virtuele netwerk waar de flexibele server wordt geïmplementeerd, en naar Azure Storage voor logboekarchivering.

    Als u netwerkbeveiligingsgroepen (NSG's) configureert om verkeer naar of van uw flexibele server binnen het geïmplementeerde subnet te beperken, moet u verkeer naar doelpoorten 5432 en 6432 binnen het subnet toestaan. Verkeer naar Azure Storage toestaan met behulp van de servicetag Azure Storage als bestemming.

    Als netwerkregels niet correct zijn ingesteld, wordt ha niet automatisch ingeschakeld na een upgrade van een primaire versie en moet u handmatig hoge beschikbaarheid inschakelen. Wijzig de NSG-regels om verkeer toe te staan voor de doelpoorten en -opslag en om een ha-functie op de server in te schakelen.

  • In-place primaire versie-upgrades bieden geen ondersteuning voor bepaalde extensies en er zijn enkele beperkingen voor het upgraden van bepaalde extensies. De volgende extensies worden niet ondersteund voor alle PostgreSQL-versies: Timescaledb, , dblinkpgauditorafce, , pg_partman. postgres_fdw

  • Wanneer u servers bijwerken waarop de PostGIS-extensie is geïnstalleerd, stelt u de search_path serverparameter in op expliciet:

    • Schema's van de PostGIS-extensie.
    • Extensies die afhankelijk zijn van PostGIS.
    • Extensies die fungeren als afhankelijkheden voor de volgende extensies: postgis, , postgis_raster, postgis_sfcgalpostgis_tiger_geocoder, postgis_topology, address_standardizer, address_standardizer_data_us, ( fuzzystrmatch vereist voor postgis_tiger_geocoder).
  • Servers die zijn geconfigureerd met logische replicatiesleuven worden niet ondersteund.

  • Servers die SSDv2-opslag gebruiken, bieden geen ondersteuning voor upgrades van primaire versies.

Volgende stappen