Hoppa till innehållet
Stackship-dokumentation English

PostgreSQLAnvändareMaskinöversatt

Instanser och hög tillgänglighet

Hur ett PostgreSQL-klusters primära instans och repliker fungerar, vilken tjänst som leder vart, vad som händer vid en failover, en omstart och ett stopp, och vad det betyder för anslutningar.

Primär och repliker

Varje instans i ett kluster har en fullständig kopia av databasen på egna volymer. En av dem är primär: den tar emot alla skrivningar. De andra är repliker: de strömmar den primäras transaktionslogg och spelar upp den, och de kan svara på läsningar. Översikt visar vilken instans som är primär under Aktuell primär, och hur många instanser som är klara under Redo instanser.

Replikeringen är asynkron. Den primära bekräftar en commit utan att vänta på replikerna, så en replik ligger oftast en kort stund efter, och en transaktion som bekräftades precis innan den primära gick sönder kanske inte hann nå någon replik.

Planerna nano, small och medium kör en instans; standard och större kör tre. Alla antal från 1 till 10 kan anges — se Ändra antalet instanser.

Tjänster

Operatorn håller tre adresser i klustrets resursgrupp, alla på port 5432:

Tjänst Leder till Visas i Översikt som
<cluster>-rw Den primära Skrivtjänst
<cluster>-r Vilken instans som helst, den primära inräknad Lästjänst
<cluster>-ro Bara replikerna —

Anslutningssträngen använder <cluster>-rw, så den följer den primära vart den än flyttar. Med PgBouncer påslaget leder <cluster>-pooler-rw till poolern, som skickar vidare till den primära.

Failover

När den primära går sönder — dess nod försvinner, dess podd dör, den slutar svara — befordrar operatorn den replik som ligger längst fram och flyttar <cluster>-rw till den. Anslutningar till den gamla primära bryts; ett program som ansluter igen når den nya. Transaktioner som den gamla primära ännu inte hade skickat till den repliken går förlorade.

Ett kluster med en instans har inget att gå över till: tills instansen kör igen, någon annanstans om dess nod är borta, är databasen otillgänglig.

Plattformen har ingen åtgärd för att flytta den primära med avsikt.

Planerade omstarter

Starta om, en ändring av CPU, minne eller antal instanser och en ändring av en parameter som kräver omstart startar alla om instanserna en i taget: replikerna först, sedan den primära. Ett kluster med fler än en instans fortsätter att svara hela tiden, och anslutningar till den primära bryts en gång medan den startas om. En ensam instans är kortvarigt otillgänglig. Portalen säger vilket av de två ett planbyte blir innan du bekräftar det.

En ny huvudversion är annorlunda: den stoppar alla instanser, den primära inräknad, tills uppgraderingen har körts.

Stoppade kluster

Stoppa stänger ner alla instanser och behåller volymerna. Ett stoppat kluster tar inte emot några anslutningar, dess Datautforskare är inte tillgänglig, och dess status är Stopped tills Starta tar tillbaka det.