Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I följande avsnitt beskrivs kapacitets- och funktionsgränser för Azure Database for PostgreSQL flexibla servrar. Information om resursnivåer för beräkning, minne och lagring finns i artiklarna om beräkning och lagring .
Maximalt antal anslutningar
I följande tabell visas det maximala standardantalet anslutningar för varje prisnivå och vCore-konfiguration. En Azure Database for PostgreSQL flexibel server reserverar 15 anslutningar för fysisk replikering och övervakning av den Azure Database for PostgreSQL flexibla servern. Tabellen minskar därför värdet för maximala användaranslutningar med 15 från det totala maximala antalet anslutningar.
| Produktnamn | vCores | Minneskapacitet | Maximalt antal anslutningar | Maximala användaranslutningar |
|---|---|---|---|---|
| överbelastningsbar | ||||
| B1ms | 1 | 2 GiB | 50 | 35 |
| B2s | 2 | 4 GiB | 429 | 414 |
| B2ms | 2 | 8 GiB | 859 | 844 |
| B4ms | 4 | 16 GiB | 1,718 | 1,703 |
| B8ms | 8 | 32 GiB | 3,437 | 3,422 |
| B12ms | 12 | 48 GiB | 5,000 | 4,985 |
| B16ms | 16 | 64 GiB | 5,000 | 4,985 |
| B20ms | 20 | 80 GiB | 5,000 | 4,985 |
| Generell användning | ||||
| D2s_v3/D2ds_v4/D2ds_v5/D2ads_v5 | 2 | 8 GiB | 859 | 844 |
| D4s_v3/D4ds_v4/D4ds_v5/D4ads_v5 | 4 | 16 GiB | 1,718 | 1,703 |
| D8s_v3/D8ds_V4/D8ds_v5/D8ads_v5 | 8 | 32 GiB | 3,437 | 3,422 |
| D16s_v3/D16ds_v4/D16ds_v5/D16ads_v5 | 16 | 64 GiB | 5,000 | 4,985 |
| D32s_v3/D32ds_v4/D32ds_v5/D32ads_v5 | 32 | 128 GiB | 5,000 | 4,985 |
| D48s_v3/D48ds_v4/D48ds_v5/D48ads_v5 | 48 | 192 GiB | 5,000 | 4,985 |
| D64s_v3/D64ds_v4/D64ds_v5/D64ads_v5 | 64 | 256 GiB | 5,000 | 4,985 |
| D96ds_v5/D96ads_v5 | 96 | 384 GiB | 5,000 | 4,985 |
| Minnesoptimerad | ||||
| E2s_v3/E2ds_v4/E2ds_v5/E2ads_v5 | 2 | 16 GiB | 1,718 | 1,703 |
| E4s_v3/E4ds_v4/E4ds_v5/E4ads_v5 | 4 | 32 GiB | 3,437 | 3,422 |
| E8s_v3/E8ds_v4/E8ds_v5/E8ads_v5 | 8 | 64 GiB | 5,000 | 4,985 |
| E16s_v3/E16ds_v4/E16ds_v5/E16ads_v5 | 16 | 128 GiB | 5,000 | 4,985 |
| E20ds_v4/E20ds_v5/E20ads_v5 | 20 | 160 GiB | 5,000 | 4,985 |
| E32s_v3/E32ds_v4/E32ds_v5/E32ads_v5 | 32 | 256 GiB | 5,000 | 4,985 |
| E48s_v3/E48ds_v4/E48ds_v5/E48ads_v5 | 48 | 384 GiB | 5,000 | 4,985 |
| E64s_v3/E64ds_v4/E64ds_v5/E64ads_v5 | 64 | 432 GiB | 5,000 | 4,985 |
| E96ds_v5/E96ads_v5 | 96 | 672 GiB | 5,000 | 4,985 |
De reserverade anslutningsplatserna, som för närvarande är 15 till antalet, kan ändras. Vi rekommenderar att du regelbundet verifierar de totala reserverade anslutningarna på servern. Du beräknar det här talet genom att summera värdena för parametrarna reserved_connections och superuser_reserved_connections . Det maximala antalet tillgängliga användaranslutningar är max_connections - (reserved_connections + superuser_reserved_connections).
Systemet beräknar standardvärdet för parametern max_connections när du etablerar instansen av Azure Database for PostgreSQL flexibel server, baserat på produktnamnet som du väljer för dess beräkning. Eventuella efterföljande ändringar av produktval till den beräkning som stöder instansen påverkar inte standardvärdet för parametern för den instansen max_connections . Vi rekommenderar att du när du ändrar den produkt som tilldelats till en instans också justerar värdet för parametern max_connections enligt värdena i föregående tabell.
Ändra värdet för max_connections
När du konfigurerar din Azure Database for PostgreSQL flexibla servern avgör den automatiskt det högsta antalet samtidiga anslutningar som den kan hantera. Serverns konfiguration avgör det här numret och du kan inte ändra det.
Du kan dock använda inställningen max_connections för att justera hur många anslutningar som tillåts vid en viss tidpunkt. När du har ändrat den här inställningen måste du starta om servern för att den nya gränsen ska börja fungera.
Försiktighet
Även om det är möjligt att öka värdet för max_connections utöver standardinställningen, avråder vi från det.
Instanser kan stöta på problem när arbetsbelastningen expanderas och kräver mer minne. När antalet anslutningar ökar ökar även minnesanvändningen. Instanser med begränsat minne kan stöta på problem som krascher eller långa svarstider. Även om ett högre värde för max_connections kan vara acceptabelt när de flesta anslutningar är inaktiva kan det leda till betydande prestandaproblem när de har blivit aktiva.
Om du behöver fler anslutningar rekommenderar vi att du i stället använder PgBouncer, den inbyggda Azure-lösningen för hantering av anslutningspooler. Använd den i transaktionsläge. Till att börja med rekommenderar vi att du använder konservativa värden genom att multiplicera de virtuella kärnorna inom intervallet 2 till 5. Övervaka därefter noggrant resursutnyttjande och programprestanda för att säkerställa en smidig drift. Detaljerad information om PgBouncer finns i PgBouncer i Azure Database for PostgreSQL.
När anslutningar överskrider gränsen kan du få följande fel:
FATAL: sorry, too many clients already.
När du använder en Azure Database for PostgreSQL flexibel server för en upptagen databas med ett stort antal samtidiga anslutningar kan det uppstå betydande belastning på resurserna. Den här belastningen kan leda till hög CPU-användning, särskilt när många anslutningar upprättas samtidigt och när anslutningarna har korta varaktigheter (mindre än 60 sekunder). Dessa faktorer kan påverka databasens övergripande prestanda negativt genom att öka den tid som ägnas åt att bearbeta anslutningar och frånkopplingar.
Varje anslutning på en Azure Database for PostgreSQL flexibel server, oavsett om den är inaktiv eller aktiv, förbrukar en betydande mängd resurser från databasen. Den här förbrukningen kan leda till prestandaproblem utöver hög CPU-användning, till exempel disk- och låskonkurring. I artikeln Antal databasanslutningar på PostgreSQL Wiki beskrivs det här avsnittet mer detaljerat. Mer information finns i Identifiera och lösa anslutningsprestanda i Azure Postgres.
Funktionsbegränsningar
I följande avsnitt listas överväganden för vad som stöds och inte stöds för dina Azure Database for PostgreSQL flexibla servrar.
Skalningsåtgärder
- För närvarande kräver uppskalning av serverlagringen en omstart av servern.
- Serverlagring kan bara skalas i steg om 2x. Mer information finns i Lagring .
- Det går inte att minska serverlagringsstorleken. För att minska lagringsstorleken måste du dumpa och återställa till en ny Azure Database for PostgreSQL flexibel server.
Storage
- När du har konfigurerat lagringsstorleken kan du inte minska den. Du måste skapa en ny server med önskad lagringsstorlek, utföra en manuell dumpnings- och återställningsåtgärd och migrera dina databaser till den nya servern.
- När lagringsanvändningen når 95% eller om den tillgängliga kapaciteten är mindre än 5 GiB (beroende på vilket som är mer) växlar systemet automatiskt servern till skrivskyddat läge för att undvika fel som är associerade med diskfyllda situationer. I sällsynta fall kan servern fortfarande få slut på lagringsutrymme om datatillväxten överskrider den tid det tar att växla till skrivskyddat läge. Du kan aktivera automatisk lagringsväxning för att undvika dessa problem och automatiskt skala lagringen baserat på dina arbetsbelastningskrav.
- Vi rekommenderar att du anger aviseringsregler för
storage usedellerstorage percentnär de överskrider vissa tröskelvärden så att du proaktivt kan vidta åtgärder som att öka lagringsstorleken. Du kan till exempel ange en avisering om lagringsprocenten överskrider 80 % användning. - Om du använder logisk replikering måste du släppa det logiska replikeringsfacket på den primära servern om motsvarande prenumerant inte längre finns. Annars ackumuleras WAL-filerna (write-ahead loggning) i den primära filen och fyller upp lagringen. Om lagringen överskrider ett visst tröskelvärde och om den logiska replikeringsplatsen inte används (på grund av en otillgänglig prenumerant) släpper en Azure Database for PostgreSQL flexibel server automatiskt det oanvända logiska replikeringsfacket. Den här åtgärden frigör ackumulerade WAL-filer och förhindrar att servern blir otillgänglig eftersom lagringen är fylld.
- Det går inte att skapa tabellytor. Om du skapar en databas ska du inte ange något tabellområdesnamn. En flexibel server i Azure Database for PostgreSQL använder standardtablespace som ärvs av malldatabasen. Det är osäkert att ange en tabellyta såsom den tillfälliga, eftersom tjänsten inte kan garantera att sådana objekt består efter händelser som serveromstarter och växlingar vid hög tillgänglighet (HA).
- Överblivna datafiler och diskanvändningsavvikelser: I sällsynta fall kan PostgreSQL lämna överblivna datafiler på disken. Dessa filer har inte längre motsvarande poster i databasens systemkatalog (som spårar alla tabeller och data). Det här villkoret kan inträffa om en tabell skapas och fylls i i en transaktion som inte kan slutföras (till exempel på grund av en serverkrasch eller ett avbrott), vilket resulterar i ett matchningsfel mellan den databasrapporterade storleken och den faktiska diskanvändningen. Det här beteendet kommer från PostgreSQL-communityns kodbas och är inte specifikt för Azure. PostgreSQL-communityn är medveten om problemet och utforskar förbättringar för automatisk rensning i framtida versioner. Mer information finns i: PostgreSQL: Föräldralösa filer i PostgreSQL. Det här villkoret kan leda till oväntat hög disk- eller lagringsförbrukning.
- Hur man identifierar: Jämför den databasrapporterade storleken (med frågor som ) med mått från Azure-portalen för faktisk diskanvändning. Om det finns en betydande avvikelse kan överblivna filer vara orsaken. I såfall:
- Kör VACUUM FULL på berörda tabeller för att frigöra utrymme (obs! det här är resursintensivt, kräver ett tabelllås och kan kräva stilleståndstid).
- Du kan också använda verktyg som pg_repack eller pg_squeeze tillägg för omorganisering utan avbrott, men testa i en icke-produktionsmiljö först.
- Övervaka med hjälp av Azure Portal-metrik för att nå tröskelvärden för diskanvändning. Om problemet kvarstår eller om du är osäker kan du kontakta Azure Support för att få hjälp.
- Så här förhindrar du: Se till att transaktioner hanteras korrekt i dina program för att minimera ofullständiga åtgärder. Övervaka regelbundet diskanvändningen via Azure-portalens mått. Uppgradering till den senaste PostgreSQL-versionen som stöds kan innehålla community-korrigeringar för relaterade problem.
- Hur man identifierar: Jämför den databasrapporterade storleken (med frågor som ) med mått från Azure-portalen för faktisk diskanvändning. Om det finns en betydande avvikelse kan överblivna filer vara orsaken. I såfall:
Nätverkande
- Vi stöder för närvarande inte att flytta in och ut ur ett virtuellt nätverk.
- Vi stöder för närvarande inte att kombinera offentlig åtkomst med distribution i ett virtuellt nätverk.
- Virtuella nätverk stöder inte brandväggsregler. Du kan använda nätverkssäkerhetsgrupper i stället.
- Databasservrar för offentlig åtkomst kan ansluta till det offentliga Internet. till exempel via
postgres_fdw. Du kan inte begränsa den här åtkomsten. Servrar i virtuella nätverk kan ha begränsad utgående åtkomst via nätverkssäkerhetsgrupper.
Hög tillgänglighet
Tillgänglighetszoner
- Vi stöder för närvarande inte manuellt flytt av servrar till en annan tillgänglighetszon. Men genom att använda den önskade tillgänglighetszonen som väntelägeszon kan du aktivera HA. När du har skapat standbyzonen kan du växla över till den och sedan stänga av HA.
Postgres-motor, tillägg och PgBouncer
- En Azure Database for PostgreSQL flexibel server stöder alla funktioner i PostgreSQL-motorn, inklusive partitionering, logisk replikering och externa dataomslutningar.
- En Azure Database for PostgreSQL flexibel server stöder alla
contribtillägg med mera. Mer information finns i PostgreSQL-tillägg. - Burst-servrar har för närvarande inte åtkomst till den inbyggda PgBouncer-anslutningspoolen.
Stoppa/starta åtgärder
- När du har stoppat Azure Database for PostgreSQL flexibel server startar den automatiskt efter sju dagar.
Schemalagt underhåll
- Du kan ändra fönstret för anpassat underhåll till valfri dag/tid i veckan. Ändringar som du gör när du har fått underhållsmeddelandet påverkar dock inte nästa underhåll. Ändringarna börjar gälla endast med följande månatliga schemalagda underhåll.
Serversäkerhetskopior
Systemet hanterar säkerhetskopior. Du kan för närvarande inte köra säkerhetskopior manuellt. Vi rekommenderar att du använder
pg_dumpi stället.Den första ögonblicksbilden är en fullständig säkerhetskopia och på varandra följande ögonblicksbilder är differentiella säkerhetskopior. Differentiella säkerhetskopior säkerhetskopierar endast ändrade data sedan den senaste säkerhetskopieringen av ögonblicksbilden.
Om storleken på databasen till exempel är 40 GB och din etablerade lagring är 64 GB är den första säkerhetskopieringen av ögonblicksbilden 40 GB. Om du nu ändrar 4 GB data blir nästa differentiella säkerhetskopieringsstorlek för ögonblicksbilder bara 4 GB. Transaktionsloggarna (loggningsloggarna) är separata från de fullständiga och differentiella säkerhetskopiorna och arkiveras kontinuerligt.
Serveråterställning
- När du använder funktionen punkt-i-tid-återställning (PITR) skapar systemet den nya servern med samma beräknings- och lagringskonfigurationer som den server som den baseras på.
- Systemet återställer databasservrar i virtuella nätverk till samma virtuella nätverk när du återställer från en säkerhetskopia.
- Den nya servern som skapades under en återställning har inte de brandväggsregler som fanns på den ursprungliga servern. Du måste skapa brandväggsregler separat för den nya servern.
- Vi stöder inte återställning till en annan prenumeration. Som en lösning kan du återställa servern inom samma prenumeration och sedan migrera den återställde servern till en annan prenumeration.
Security
- PostgreSQL 14 och senare versioner inaktiverar MD5-hashning och systemet hashar interna Postgres-lösenord med hjälp av SCRAM-SHA-256-metoden endast.