PostgreSQL-tillägg i Azure Database for PostgreSQL – flexibel server

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

Azure Database for PostgreSQL – flexibel server ger möjlighet att utöka funktionerna i databasen med hjälp av tillägg. Tillägg paket flera relaterade SQL-objekt i ett enda paket som kan läsas in eller tas bort från databasen med ett kommando. När tilläggen har lästs in i databasen fungerar de som inbyggda funktioner.

Använda PostgreSQL-tillägg

Innan du installerar tillägg i Azure Database for PostgreSQL – flexibel server måste du tillåta att dessa tillägg används.

Använda Azure-portalen:

  1. Välj din azure database for PostgreSQL– flexibel serverinstans.
  2. I sidofältet väljer du Serverparametrar.
  3. Sök efter parametern azure.extensions .
  4. Välj tillägg som du vill tillåtalista. Skärmbild som visar flexibel Azure Database for PostgreSQL-server – tillåtna tillägg för installation.

Använda Azure CLI:

Du kan tillåtalistetillägg via cli-parameteruppsättningskommandot.

az postgres flexible-server parameter set --resource-group <your resource group>  --server-name <your server name> --subscription <your subscription id> --name azure.extensions --value <extension name>,<extension name>

Använda ARM-mall: Exempel som visas nedan tillåterlister dblink, dict_xsyn, pg_buffercache på servern mypostgreserver

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "flexibleServers_name": {
            "defaultValue": "mypostgreserver",
            "type": "String"
        },
        "azure_extensions_set_value": {
            "defaultValue": " dblink,dict_xsyn,pg_buffercache",
            "type": "String"
        }
    },
    "variables": {},
    "resources": [
        {
            "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations",
            "apiVersion": "2021-06-01",
            "name": "[concat(parameters('flexibleServers_name'), '/azure.extensions')]",
            "properties": {
                "value": "[parameters('azure_extensions_set_value')]",
                "source": "user-override"
            }
        }
    ]
}

shared_preload_libraries är en serverkonfigurationsparameter som avgör vilka bibliotek som ska läsas in när Azure Database for PostgreSQL – flexibel server startar. Alla bibliotek som använder delat minne måste läsas in via den här parametern. Om tillägget behöver läggas till i delade förinläsningsbibliotek kan den här åtgärden utföras:

Använda Azure-portalen:

  1. Välj din azure database for PostgreSQL– flexibel serverinstans.
  2. I sidofältet väljer du Serverparametrar.
  3. Sök efter parametern shared_preload_libraries .
  4. Välj tillägg som du vill lägga till. Skärmbild som visar parameterinställningen För delade förinläsningsbibliotek för tilläggsinstallation i Azure Database for PostgreSQL -setting shared preload libraries.

Använda Azure CLI:

Du kan ange shared_preload_libraries via cli-parameteruppsättningskommandot.

az postgres flexible-server parameter set --resource-group <your resource group>  --server-name <your server name> --subscription <your subscription id> --name shared_preload_libraries --value <extension name>,<extension name>

När tilläggen är tillåtna och inlästa måste de installeras i databasen innan du kan använda dem. Om du vill installera ett visst tillägg bör du köra kommandot CREATE EXTENSION . Det här kommandot läser in de paketerade objekten i databasen.

Kommentar

Tillägg från tredje part som erbjuds i Azure Database for PostgreSQL – flexibel server är öppen källkod licensierad kod. För närvarande erbjuder vi inga tillägg eller tilläggsversioner från tredje part med premium- eller proprietära licensieringsmodeller.

Azure Database for PostgreSQL– flexibel serverinstans stöder en delmängd av viktiga PostgreSQL-tillägg enligt nedan. Den här informationen är också tillgänglig genom att köra SHOW azure.extensions;. Tillägg som inte visas i det här dokumentet stöds inte på azure database for PostgreSQL – flexibel server. Du kan inte skapa eller läsa in ditt eget tillägg i Azure Database for PostgreSQL – flexibel server.

Tilläggsversioner

Följande tillägg är tillgängliga i Azure Database for PostgreSQL – flexibel server:

Kommentar

Tillägg i följande tabell med märket ✔️ kräver att deras motsvarande bibliotek aktiveras i shared_preload_libraries serverparametern.

Tilläggsnamn Beskrivning PostgreSQL 16 PostgreSQL 15 PostgreSQL 14 PostgreSQL 13 PostgreSQL 12 PostgreSQL 11
address_standardizer Används för att parsa en adress i element. Används vanligtvis för att stödja normaliseringssteget för geokodningsadresser. 3.3.3 3.3.1 3.2.3 3.2.3 3.2.3 3.2.3
address_standardizer_data_us Exempel på datamängden Address Standardizer US 3.3.3 3.3.1 3.2.3 3.2.3 3.2.3 3.2.3
amcheck Funktioner för att verifiera relationsintegritet 1.3 1.3 1.3 1.2 1.2 1,1
anon (förhandsversion) Verktyg för dataidentifiering 1.2.0 ✔️ 1.2.0 ✔️ 1.2.0 ✔️ 1.2.0 ✔️ 1.2.0 ✔️ 1.2.0 ✔️
azure_ai Azure AI- och ML Services-integrering för PostgreSQL 1.0.0 1.1.0 1.0.0 1.0.0 1.0.0 Ej tillämpligt
azure_storage Azure-integrering för PostgreSQL 1.4 ✔️ 1.4 ✔️ 1.4 ✔️ 1.4 ✔️ 1.4 ✔️ Ej tillämpligt
Blom Bloom-åtkomstmetod – signaturfilbaserat index 1.0 1.0 1.0 1.0 1.0 1.0
btree_gin Stöd för indexering av vanliga datatyper i GIN 1.3 1.3 1.3 1.3 1.3 1.3
btree_gist Stöd för indexering av vanliga datatyper i GiST 1,7 1,7 1.6 1.5 1.5 1.5
citext Datatyp för skiftlägesokänsliga teckensträngar 1.6 1.6 1.6 1.6 1.6 1.5
Kub Datatyp för flerdimensionella kuber 1.5 1.5 1.5 1.4 1.4 1.4
dblink Anslut till andra PostgreSQL-databaser från en databas 1.2 1.2 1.2 1.2 1.2 1.2
dict_int Ordlistemall för textsökning för heltal 1.0 1.0 1.0 1.0 1.0 1.0
dict_xsyn Ordlistemall för textsökning för utökad synonymbearbetning 1.0 1.0 1.0 1.0 1.0 1.0
earthdistance Beräkna stora cirkelavstånd på jordens yta 1,1 1,1 1,1 1,1 1,1 1,1
fuzzystrmatch Fastställa likheter och avstånd mellan strängar 1.2 1,1 1,1 1,1 1,1 1,1
Hstore Datatyp för lagring av uppsättningar med (nyckel, värde) par 1.8 1.8 1.8 1,7 1.6 1.5
hypopg Hypotetiska index för PostgreSQL 1.4.0 1.4.0 1.4.0 1.4.0 1.4.0 1.4.0
intagg Heltalsaggregator och uppräknare (föråldrad) 1,1 1,1 1,1 1,1 1,1 1,1
intarray Funktioner, operatorer och indexstöd för 1D-matriser med heltal 1.5 1.5 1.5 1.3 1.2 1.2
Isn Datatyper för internationella produktnumreringsstandarder 1.2 1.2 1.2 1.2 1.2 1.2
Lo Underhåll av stora objekt 1,1 1,1 1,1 1,1 1,1 1,1
login_hook Login_hook – hook för att köra login_hook.login() vid inloggning 1.5 1.4 1.4 1.4 1.4 1.4
ltree Datatyp för hierarkiska trädliknande strukturer 1.2 1.2 1.2 1.2 1,1 1,1
Orafce Funktioner och operatorer som emulerar en delmängd funktioner och paket från Oracle RDBMS 4.4 3.24 3,18 3,18 3,18 3.7
pageinspect Granska innehållet på databassidor på en låg nivå 1.12 1.11 1,9 1.8 1,7 1,7
pgaudit Tillhandahåller granskningsfunktioner 16.0 ✔️ 1.7 ✔️ 1.6.2 ✔️ 1,5 ✔️ 1.4 ✔️ 1.3.2 ✔️
pg_buffercache Granska den delade buffertcachen 1.4 1.3 1.3 1.3 1.3 1.3
pg_cron Jobbschemaläggare för PostgreSQL 1,5 ✔️ 1.4-1 ✔️ 1.4-1 ✔️ 1.4-1 ✔️ 1.4-1 ✔️ 1.4-1 ✔️
pgcrypto Kryptografiska funktioner 1.3 1.3 1.3 1.3 1.3 1.3
pg_failover_slots (förhandsversion) Hanteraren för logiska replikeringsfack för redundans 1.0.1 1.0.1 1.0.1 1.0.1 1.0.1 1.0.1
pg_freespacemap Granska kartan över ledigt utrymme (FSM) 1.2 1.2 1.2 1.2 1.2 1.2
pg_hint_plan Gör det möjligt att justera PostgreSQL-körningsplaner med hjälp av så kallade tips i SQL-kommentarer. 1.6.0 ✔️ 1,5 ✔️ 1.4 ✔️ 1.3.7 ✔️ 1.3.7 ✔️ 1.3.7 ✔️
pglogical Logisk postgreSQL-replikering 2.4.4 ✔️ 2.4.2 ✔️ 2.4.1 ✔️ 2.4.1 ✔️ 2.4.1 ✔️ 2.4.1 ✔️
pg_partman Tillägg för att hantera partitionerade tabeller efter tid eller ID 4.7.1 ✔️ 4.7.1 ✔️ 4.6.1 ✔️ 4.5.0 ✔️ 4.5.0 ✔️ 4.5.0 ✔️
pg_prewarm Prewarm-relationsdata 1.2 ✔️ 1.2 ✔️ 1.2 ✔️ 1.2 ✔️ 1.2 ✔️ 1.2 ✔️
pg_repack Omorganisera tabeller i PostgreSQL-databaser med minimala lås 1.4.7 1.4.7 1.4.7 1.4.7 1.4.7 1.4.7
pgrouting PgRouting-tillägg Ej tillämpligt 3.5.0 3.3.0 3.3.0 3.3.0 3.3.0
pgrowlocks Visa information om låsning på radnivå 1.2 1.2 1.2 1.2 1.2 1.2
pg_squeeze Ett verktyg för att ta bort oanvänt utrymme från en relation. 1.6 ✔️ 1.6 ✔️ 1,5 ✔️ 1,5 ✔️ 1,5 ✔️ 1,5 ✔️
pg_stat_statements Spåra planerings- och körningsstatistik för alla SQL-instruktioner som körs 1.10 ✔️ 1.10 ✔️ 1.9 ✔️ 1,8 ✔️ 1.7 ✔️ 1.6 ✔️
pgstattuple Visa statistik på tuppelns nivå 1.5 1.5 1.5 1.5 1.5 1.5
pg_trgm Mätning av textlikhet och indexsökning baserat på trigram 1.6 1.6 1.6 1.5 1.4 1.4
pg_visibility Granska synlighetskartan (VM) och synlighetsinformationen på sidnivå 1.2 1.2 1.2 1.2 1.2 1.2
plpgsql PL/pgSQL procedurellt språk 1.0 1.0 1.0 1.0 1.0 1.0
plv8 PL/JavaScript (v8) betrott procedurspråk 3.1.7 3.1.7 3.0.0 3.0.0 3.0.0 3.0.0
Postgis PostGIS-geometri och geografiska rumsliga typer och funktioner 3.3.3 3.3.1 3.2.3 3.2.3 3.2.3 3.2.3
postgis_raster PostGIS rastertyper och funktioner 3.3.3 3.3.1 3.2.3 3.2.3 3.2.3 3.2.3
postgis_sfcgal PostGIS SFCGAL-funktioner 3.3.3 3.3.1 3.2.3 3.2.3 3.2.3 3.2.3
postgis_tiger_geocoder PostGIS tiger geocoder och omvänd geocoder 3.3.3 3.3.1 3.2.3 3.2.3 3.2.3 3.2.3
postgis_topology PostGIS-topologi spatiala typer och funktioner 3.3.3 3.3.1 3.2.3 3.2.3 3.2.3 3.2.3
postgres_fdw Extern dataomslutning för fjärranslutna PostgreSQL-servrar 1,1 1,1 1,1 1.0 1.0 1.0
semver Datatyp för semantisk version 0.32.1 0.32.0 0.32.0 0.32.0 0.32.0 0.32.0
session_variable Session_variable – registrering och manipulering av sessionsvariabler och konstanter 3.3 3.3 3.3 3.3 3.3 3.3
sslinfo Information om SSL-certifikat 1.2 1.2 1.2 1.2 1.2 1.2
tablefunc Funktioner som manipulerar hela tabeller, inklusive korsflik 1.0 1.0 1.0 1.0 1.0 1.0
tds_fdw Sekundär dataomslutning för att fråga en TDS-databas (Sybase eller Microsoft SQL Server) 2.0.3 2.0.3 2.0.3 2.0.3 2.0.3 2.0.3
timescaledb Aktiverar skalbara infogningar och komplexa frågor för tidsseriedata 2.13.0 ✔️ 2.10.0 ✔️ 2.10.0 ✔️ 2.10.0 ✔️ 2.10.0 ✔️ 1.7.4 ✔️
tsm_system_rows TABLESAMPLE-metod som accepterar antalet rader som en gräns 1.0 1.0 1.0 1.0 1.0 1.0
tsm_system_time TABLESAMPLE-metod som accepterar tid i millisekunder som en gräns 1.0 1.0 1.0 1.0 1.0 1.0
Unaccent Ordlista för textsökning som tar bort accenter 1,1 1,1 1,1 1,1 1,1 1,1
uuid-ossp Generera universellt unika identifierare (UUID) 1,1 1,1 1,1 1,1 1,1 1,1
Vektor Vektordatatyp och ivfflat- och hnsw-åtkomstmetoder 0.6.1 0.6.1 0.6.1 0.6.1 0.6.1 0.5.1

dblink och postgres_fdw gör att du kan ansluta från en flexibel Azure Database for PostgreSQL-serverinstans till en annan eller till en annan databas på samma server. Azure Database for PostgreSQL – flexibel server stöder både inkommande och utgående anslutningar till valfri PostgreSQL-server. Den sändande servern måste tillåta utgående anslutningar till den mottagande servern. På samma sätt måste den mottagande servern tillåta anslutningar från den sändande servern.

Vi rekommenderar att du distribuerar dina servrar med integrering av virtuella nätverk om du planerar att använda dessa två tillägg. Som standard tillåter integrering av virtuella nätverk anslutningar mellan servrar i det virtuella nätverket. Du kan också välja att använda säkerhetsgrupper för virtuella nätverk för att anpassa åtkomsten.

pg_prewarm

Tillägget pg_prewarm läser in relationsdata i cacheminnet. Att förvärma dina cacheminnen innebär att dina frågor har bättre svarstider vid den första körningen efter en omstart. Funktionen auto-prewarm är för närvarande inte tillgänglig i Azure Database for PostgreSQL – flexibel server.

pg_cron

pg_cron är en enkel, cron-baserad jobbschemaläggare för PostgreSQL som körs i databasen som ett tillägg. Tillägget pg_cron kan användas för att köra schemalagda underhållsaktiviteter i en PostgreSQL-databas. Du kan till exempel köra periodiskt vakuum för en tabell eller ta bort gamla datajobb.

pg_cron kan köra flera jobb parallellt, men körs som mest en instans av ett jobb i taget. Om en andra körning ska starta innan den första slutförs placeras den andra körningen i kö och startas så snart den första körningen är klar. Detta säkerställer att jobb körs exakt så många gånger som schemalagt och inte körs samtidigt med sig själva.

Några exempel:

För att ta bort gamla data på lördag klockan 03:30 (GMT).

SELECT cron.schedule('30 3 * * 6', $$DELETE FROM events WHERE event_time < now() - interval '1 week'$$);

Så här kör du vakuum varje dag klockan 10:00 (GMT) i standarddatabasen postgres.

SELECT cron.schedule('0 10 * * *', 'VACUUM');

Så här avbokar du alla aktiviteter från pg_cron.

SELECT cron.unschedule(jobid) FROM cron.job;

Om du vill se alla jobb som för närvarande är schemalagda med pg_cron.

SELECT * FROM cron.job;

För att köra vakuum varje dag klockan 10:00 (GMT) i databasen "testcron" under azure_pg_admin rollkonto.

SELECT cron.schedule_in_database('VACUUM','0 10 * * * ','VACUUM','testcron',null,TRUE);

Kommentar

pg_cron tillägget är förinläst shared_preload_libraries för varje flexibel Azure Database for PostgreSQL-serverinstans i postgres-databasen för att ge dig möjlighet att schemalägga jobb att köras i andra databaser i azure database for PostgreSQL– flexibel server DB-instans utan att äventyra säkerheten. Av säkerhetsskäl måste du dock fortfarande tillåta listtilläggpg_cron och installera det med kommandot CREATE EXTENSION .

Från och med pg_cron version 1.4 kan du använda cron.schedule_in_database funktionerna och cron.alter_job för att schemalägga jobbet i en specifik databas och uppdatera ett befintligt schema.

Några exempel:

Ta bort gamla data på lördag klockan 03:30 (GMT) på databasen DBName.

SELECT cron.schedule_in_database('JobName', '30 3 * * 6', $$DELETE FROM events WHERE event_time < now() - interval '1 week'$$,'DBName');

Kommentar

cron_schedule_in_database -funktionen tillåter användarnamn som valfri parameter. Om du ställer in användarnamnet på ett värde som inte är null krävs postgreSQL-superanvändarbehörighet och stöds inte i Azure Database for PostgreSQL – flexibel server. Föregående exempel visar körning av den här funktionen med valfria användarnamnsparametern utelämnad eller inställd på null, som kör jobbet i samband med att användaren schemalägger jobbet, vilket bör ha azure_pg_admin rollbehörigheter.

För att uppdatera eller ändra databasnamnet för det befintliga schemat

SELECT cron.alter_job(job_id:=MyJobID,database:='NewDBName');

pg_failover_slots (förhandsversion)

Tillägget PG-redundansfack förbättrar Azure Database for PostgreSQL– flexibel server när du arbetar med både logisk replikering och servrar med hög tillgänglighet. Den hanterar effektivt utmaningen i PostgreSQL-standardmotorn som inte bevarar logiska replikeringsplatser efter en redundansväxling. Att underhålla dessa platser är viktigt för att förhindra replikeringspauser eller datamatchningar under ändringar av primär serverrollen, vilket säkerställer driftkontinuitet och dataintegritet.

Tillägget effektiviserar redundansväxlingen genom att hantera nödvändig överföring, rensning och synkronisering av replikeringsplatser, vilket ger en sömlös övergång under ändringar i serverrollen. Tillägget stöds för PostgreSQL-versionerna 11 till 16.

Du hittar mer information och hur du använder tillägget PG-redundansfack på github-sidan.

Aktivera pg_failover_slots

Om du vill aktivera PG-tillägget för redundansfack för din flexibla Serverinstans för Azure Database for PostgreSQL måste du ändra serverns konfiguration genom att inkludera tillägget i serverns delade förinläsningsbibliotek och justera en specifik serverparameter. Så här gör du:

  1. Lägg till pg_failover_slots i serverns delade förinläsningsbibliotek genom att uppdatera parametern shared_preload_libraries .
  2. Ändra serverparametern hot_standby_feedback till on.

Ändringar i parametern shared_preload_libraries kräver att en omstart av servern börjar gälla.

Följ dessa steg i Azure-portalen:

  1. Logga in på Azure-portalen och gå till sidan för den flexibla serverinstansen i Azure Database for PostgreSQL.
  2. I menyn till vänster väljer du Serverparametrar.
  3. Leta upp parametern shared_preload_libraries i listan och redigera dess värde så att den innehåller pg_failover_slots.
  4. Sök efter parametern hot_standby_feedback och ange dess värde till on.
  5. Välj spara ändringarna genom att välja Spara . Nu har du möjlighet att spara och starta om. Välj det här alternativet för att se till att ändringarna börjar gälla eftersom ändringar shared_preload_libraries kräver en omstart av servern.

Genom att välja Spara och starta om startar servern automatiskt om och tillämpar de ändringar som du har gjort. När servern är online igen aktiveras tillägget PG-redundansfack och används på din primära azure database for PostgreSQL-flexibel serverinstans, redo att hantera logiska replikeringsplatser under redundansväxlingar.

pg_stat_statements

Tillägget pg_stat_statements ger dig en vy över alla frågor som har körts i databasen. Det är användbart för att få en förståelse för hur din frågearbetsbelastningsprestanda ser ut i ett produktionssystem.

Tillägget pg_stat_statements är förinläst på shared_preload_libraries varje flexibel Azure Database for PostgreSQL-serverinstans för att ge dig ett sätt att spåra körningsstatistik för SQL-instruktioner. Av säkerhetsskäl måste du dock fortfarande tillåtalistningpg_stat_statements-tillägget och installera det med kommandot CREATE EXTENSION. Inställningen pg_stat_statements.track, som styr vilka instruktioner som räknas av tillägget, är standardvärdet , vilket innebär att topalla instruktioner som utfärdas direkt av klienter spåras. De två andra spårningsnivåerna är none och all. Den här inställningen kan konfigureras som en serverparameter.

Det gäller att hitta en balans mellan frågekörningsinformationen som pg_stat_statements tillhandahåller och påverkan på serverprestanda eftersom den loggar varje SQL-instruktion. Om du inte aktivt använder pg_stat_statements tillägget rekommenderar vi att du anger pg_stat_statements.track till none. Vissa övervakningstjänster från tredje part kan förlita sig på pg_stat_statements för att leverera insikter om frågeprestanda, så bekräfta om så är fallet för dig eller inte.

TidsskalaDB

TimescaleDB är en tidsseriedatabas som paketeras som ett tillägg för PostgreSQL. TimescaleDB tillhandahåller tidsorienterade analysfunktioner, optimeringar och skalar Postgres för tidsseriearbetsbelastningar. Läs mer om TimescaleDB, ett registrerat varumärke som tillhör Timescale, Inc. Azure Database for PostgreSQL – flexibel server tillhandahåller TimescaleDB Apache-2-utgåvan.

Installera TimescaleDB

Om du vill installera TimescaleDB måste du dessutom inkludera det i serverns delade förinläsningsbibliotek för att tillåta att det visas, som du ser ovan. En ändring av Postgres shared_preload_libraries parameter kräver att en omstart av servern börjar gälla. Du kan ändra parametrar med hjälp av Azure-portalen eller Azure CLI. Använda Azure-portalen:

  1. Välj din azure database for PostgreSQL– flexibel serverinstans.

  2. I sidofältet väljer du Serverparametrar.

  3. Sök efter parametern shared_preload_libraries .

  4. Välj TimescaleDB.

  5. Välj Spara för att bevara ändringarna. Du får ett meddelande när ändringen har sparats.

  6. Starta om servern efter meddelandet för att tillämpa ändringarna.

Nu kan du aktivera TimescaleDB i azure database for PostgreSQL– flexibel serverdatabas. Anslut till databasen och utfärda följande kommando:

CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;

Dricks

Om du ser ett fel kontrollerar du att du har startat om servern när du har sparat shared_preload_libraries.

Nu kan du skapa en TimescaleDB-hypertabell från grunden eller migrera befintliga tidsseriedata i PostgreSQL.

Återställa en tidsskala-databas med hjälp av pg_dump och pg_restore

Om du vill återställa en tidsskala-databas med hjälp av pg_dump och pg_restore måste du köra två hjälpprocedurer i måldatabasen: timescaledb_pre_restore() och timescaledb_post restore().

Förbered först måldatabasen:

--create the new database where you'll perform the restore
CREATE DATABASE tutorial;
\c tutorial --connect to the database
CREATE EXTENSION timescaledb;

SELECT timescaledb_pre_restore();

Nu kan du köra pg_dump på den ursprungliga databasen och sedan göra pg_restore. Efter återställningen ska du köra följande kommando i den återställda databasen:

SELECT timescaledb_post_restore();

Mer information om återställningsmetod med timescale-aktiverad databas finns i Dokumentation om tidsskala.

Återställa en tidsskala-databas med hjälp av tidsberäknadb-säkerhetskopiering

När du kör SELECT timescaledb_post_restore() proceduren ovan kan du få behörigheter som nekas fel vid uppdatering av flaggan timescaledb.restoring. Detta beror på begränsad ALTER DATABASE-behörighet i Cloud PaaS-databastjänster. I det här fallet kan du utföra en alternativ metod med hjälp av timescaledb-backup verktyget för att säkerhetskopiera och återställa en tidsskala-databas. Timescaledb-backup är ett program för att göra dumpning och återställning av en TimescaleDB-databas enklare, mindre felbenägen och mer högpresterande.
För att göra det bör du göra följande

  1. Installera verktyg enligt beskrivningen här
  2. Skapa en Azure Database for PostgreSQL-målinstans och databas för flexibel server
  3. Aktivera tidsskaletillägg som visas ovan
  4. Bevilja azure_pg_admin rollen till användare som ska användas av ts-restore
  5. Kör ts-restore för att återställa databasen

Mer information om dessa verktyg finns här.

Kommentar

När du använder timescale-backup verktyg för att återställa till Azure, eftersom databasanvändarnamn för Azure Database for PostgreSQL måste använda <user@db-name> formatet, måste du ersätta @ med %40 teckenkodning.

pg_hint_plan

pg_hint_plan gör det möjligt att justera PostgreSQL-körningsplaner med hjälp av så kallade "tips" i SQL-kommentarer, till exempel:

/*+ SeqScan(a) */

pg_hint_plan läser tipsfraser i en kommentar av särskilt format som ges med SQL-mål-instruktionen. Specialformuläret börjar med teckensekvensen "/*+" och slutar med "*/". Tipsfraser består av tipsnamn och följande parametrar som omges av parenteser och avgränsas av blanksteg. Nya rader för läsbarhet kan avgränsa varje tipsfras.

Exempel:

  /*+
      HashJoin(a b)
      SeqScan(a)
    */
    SELECT *
      FROM pgbench_branches b
      JOIN pgbench_accounts an ON b.bid = a.bid
     ORDER BY a.aid;

Ovanstående exempel gör att planeraren använder resultatet av en seq scan i tabellen a för att kombineras med tabell b som en hash join.

Om du vill installera pg_hint_plan måste du dessutom inkludera den i serverns delade förinläsningsbibliotek för att kunna visa den, som du ser ovan. En ändring av Postgres shared_preload_libraries parameter kräver att en omstart av servern börjar gälla. Du kan ändra parametrar med hjälp av Azure-portalen eller Azure CLI. Använda Azure-portalen:

  1. Välj din azure database for PostgreSQL– flexibel serverinstans.

  2. I sidofältet väljer du Serverparametrar.

  3. Sök efter parametern shared_preload_libraries .

  4. Välj pg_hint_plan.

  5. Välj Spara för att bevara ändringarna. Du får ett meddelande när ändringen har sparats.

  6. Starta om servern efter meddelandet för att tillämpa ändringarna.

Nu kan du aktivera pg_hint_plan din flexibla serverdatabas i Azure Database for PostgreSQL. Anslut till databasen och utfärda följande kommando:

CREATE EXTENSION pg_hint_plan;

pg_buffercache

Pg_buffercache kan användas för att studera innehållet i shared_buffers. Med det här tillägget kan du se om en viss relation cachelagras eller inte (i shared_buffers). Det här tillägget kan hjälpa dig att felsöka prestandaproblem (cachelagringsrelaterade prestandaproblem).

Det här är en del av contrib och det är enkelt att installera det här tillägget.

CREATE EXTENSION pg_buffercache;

Tillägg och högre versionsuppgradering

Azure Database for PostgreSQL – flexibel server har introducerat en huvudversionsuppgraderingsfunktion på plats som utför en uppgradering på plats av azure database for PostgreSQL flexibel serverinstans med bara ett klick. Uppgradering av större versioner på plats förenklar uppgraderingsprocessen för Azure Database for PostgreSQL– flexibel server, vilket minimerar störningarna för användare och program som kommer åt servern. Huvudversionsuppgradering på plats stöder inte specifika tillägg och det finns vissa begränsningar för att uppgradera vissa tillägg. Tilläggen Timescaledb, pgaudit, dblink, orafce och postgres_fdw stöds inte för alla Azure Database for PostgreSQL flexibla serverversioner när du använder huvudversionsuppdateringsfunktionen på plats.