max_replication_slots
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Nastaví maximální počet současně definovaných slotů replikace. |
| Datový typ |
integer |
| Výchozí hodnota |
10 |
| Povolené hodnoty |
2-262143 |
| Typ parametru |
statický |
| Documentation |
max_replication_slots |
Poznámky specifické pro Azure
Výchozí hodnota parametru max_replication_slots je 10. Pokud povolíte vysokou dostupnost, potřebujete minimálně 4 max_replication_slots , aby vysoká dostupnost fungovala správně.
Pro server s povolenou vysokou dostupností plus 5 replik pro čtení a 12 slotů logické replikace můžete chtít nakonfigurovat max_replication_slots na 21. Důvodem je to, že každá replika pro čtení a každý slot logické replikace vyžaduje jednu repliku max_replication_slot. Proto vyžaduje celkem 1 (slot) * 5 (replikace pro čtení) + 12 (sloty logické replikace) + 4 (k zajištění vysoké dostupnosti) = 21.
max_slot_wal_keep_size
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Nastaví maximální velikost WAL, kterou můžou rezervovat sloty replikace. Sloty replikace budou označeny jako nezdařené a segmenty budou uvolněny pro odstranění nebo recyklaci, pokud WAL zabírá na disku příliš mnoho místa. |
| Datový typ |
integer |
| Výchozí hodnota |
-1 |
| Povolené hodnoty |
-1 |
| Typ parametru |
jen pro čtení |
| Documentation |
max_slot_wal_keep_size |
max_wal_senders
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Nastaví maximální počet současně spuštěných procesů odesílatele WAL. |
| Datový typ |
integer |
| Výchozí hodnota |
10 |
| Povolené hodnoty |
5-100 |
| Typ parametru |
statický |
| Documentation |
max_wal_senders |
Poznámky specifické pro Azure
Výchozí hodnota parametru max_wal_senders serveru nastavená při zřizování instance flexibilního serveru Azure Database for PostgreSQL nesmí být nikdy nižší než níže 2 (if HA is enabled) + number of read replicas provisioned + slots_used_in_logical_replication.
Při zvažování potřeby zvýšit max_wal_senders na mnohem vyšší hodnotu, aby bylo možné se vypořádat s logickou replikací podstatného počtu tabulek, mějte na paměti následující důležité body:
- Logické replikace velkého počtu tabulek nemusí nutně potřebovat velký počet odesílatelů WAL.
- Jediným důvodem, proč potřebujete samostatného odesílatele WAL pro tabulku nebo skupinu tabulek, je, že potřebujete samostatná předplatná pro každou z těchto tabulek nebo skupin.
- Jakýkoli počet odesílatelů WAL využívaných pro fyzickou a logickou replikaci se všechny stanou aktivními současně, kdykoli jakékoli zázemí zapíše něco do logu zápisu dopředu. V takovém případě se všichni odesílatelé WAL, kteří jsou přiřazeni k logické replikaci, probouzejí:
- Dekódujte všechny nové záznamy v WAL,
- Vyfiltrujte záznamy protokolu, které je nezajímají.
- Replikujte data, která jsou pro každou z nich relevantní.
- Odesílatelé WAL se podobají připojením v tom, že pokud nejsou aktivní, nezáleží na jejich počtu. Pokud jsou ale aktivní, budou jen soutěžit o stejné prostředky a výkon může být hrozně špatný. To platí zejména pro odesílatele s logickou replikací, protože logické dekódování je poměrně nákladné. Každý jednotlivý pracovník musí dekódovat celý WAL, i když replikuje pouze transakce ovlivňující jednu tabulku a ty představují jen malé procento všech dat v celém WAL. Pro fyzickou replikaci není to tak důležité, protože odesílatelé WAL nevyužívají procesor tak intenzivně a mají tendenci být nejprve vázáni šířkou pásma sítě.
- Obecně je tedy lepší mít ne mnohem více odesílatelů WAL než virtuálních jader.
- Je vhodné vyhradit místo pro několik dalších odesílačů WAL, aby bylo možné zvládnout budoucí růst nebo dočasné špičky v připojeních replikace. Následující dva příklady vám můžou pomoct lépe ilustrovat.
- Pro server s 8 vCores, zakázanou HA, 2 replikami pro čtení a 3 logickými sloty replikace pravděpodobně budete chtít nakonfigurovat
max_wal_senders jako součet fyzických slotů pro HA (0) + fyzických slotů pro repliky pro čtení (2) + logických slotů (3) + nějakých navíc pro budoucí růst, přičemž zvažte dostupné vCores (1) = 6.
- Pro server se 16 vCore, povolenou vysokou dostupností (HA), 4 replikami pro čtení a 5 sloty logické replikace možná budete chtít nakonfigurovat
max_wal_senders jako součet fyzických slotů pro HA (2) + fyzické sloty pro repliky pro čtení (4) + logické sloty (5) + několik dalších pro budoucí růst s ohledem na dostupné vCore (2) = 13.
- Pokud povolíte vysokou dostupnost, potřebujete minimálně 4
max_wal_senders , aby vysoká dostupnost fungovala správně. Pro server s povolenou vysokou dostupností plus 5 replik pro čtení a 12 slotů logické replikace můžete chtít nakonfigurovat max_wal_senders na 21. Důvodem je to, že každá replika pro čtení a každý slot logické replikace vyžaduje jednu repliku max_wal_senders. Proto vyžaduje celkem 1 (slot) * 5 (replikace pro čtení) + 12 (sloty logické replikace) + 4 (k zajištění vysoké dostupnosti) = 21.
- Pokud si stále myslíte, že maximální povolená hodnota pro tento parametr je pro vaše potřeby příliš nízká, obraťte se na nás, podrobně popište svůj scénář a vysvětlete, co považujete za minimální přijatelnou hodnotu, kterou byste potřebovali, aby váš scénář fungoval správně.
track_commit_timestamp
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Shromažďuje čas potvrzení transakce. |
| Datový typ |
Boolean |
| Výchozí hodnota |
off |
| Povolené hodnoty |
on,off |
| Typ parametru |
statický |
| Documentation |
track_commit_timestamp |
wal_keep_size
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Nastaví velikost souborů WAL uložených pro pohotovostní servery. |
| Datový typ |
integer |
| Výchozí hodnota |
400 |
| Povolené hodnoty |
400 |
| Typ parametru |
jen pro čtení |
| Documentation |
wal_keep_size |
wal_sender_timeout
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Nastaví maximální dobu čekání na replikaci WAL. |
| Datový typ |
integer |
| Výchozí hodnota |
60000 |
| Povolené hodnoty |
0-2147483647 |
| Typ parametru |
dynamic |
| Documentation |
wal_sender_timeout |
max_replication_slots
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Nastaví maximální počet současně definovaných slotů replikace. |
| Datový typ |
integer |
| Výchozí hodnota |
10 |
| Povolené hodnoty |
2-262143 |
| Typ parametru |
statický |
| Documentation |
max_replication_slots |
Poznámky specifické pro Azure
Výchozí hodnota parametru max_replication_slots je 10. Pokud povolíte vysokou dostupnost, potřebujete minimálně 4 max_replication_slots , aby vysoká dostupnost fungovala správně.
Pro server s povolenou vysokou dostupností plus 5 replik pro čtení a 12 slotů logické replikace můžete chtít nakonfigurovat max_replication_slots na 21. Důvodem je to, že každá replika pro čtení a každý slot logické replikace vyžaduje jednu repliku max_replication_slot. Proto vyžaduje celkem 1 (slot) * 5 (replikace pro čtení) + 12 (sloty logické replikace) + 4 (k zajištění vysoké dostupnosti) = 21.
max_slot_wal_keep_size
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Nastaví maximální velikost WAL, kterou můžou rezervovat sloty replikace. Sloty replikace budou označeny jako nezdařené a segmenty budou uvolněny pro odstranění nebo recyklaci, pokud WAL zabírá na disku příliš mnoho místa. |
| Datový typ |
integer |
| Výchozí hodnota |
-1 |
| Povolené hodnoty |
-1 |
| Typ parametru |
jen pro čtení |
| Documentation |
max_slot_wal_keep_size |
max_wal_senders
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Nastaví maximální počet současně spuštěných procesů odesílatele WAL. |
| Datový typ |
integer |
| Výchozí hodnota |
10 |
| Povolené hodnoty |
5-100 |
| Typ parametru |
statický |
| Documentation |
max_wal_senders |
Poznámky specifické pro Azure
Výchozí hodnota parametru max_wal_senders serveru nastavená při zřizování instance flexibilního serveru Azure Database for PostgreSQL nesmí být nikdy nižší než níže 2 (if HA is enabled) + number of read replicas provisioned + slots_used_in_logical_replication.
Při zvažování potřeby zvýšit max_wal_senders na mnohem vyšší hodnotu, aby bylo možné se vypořádat s logickou replikací podstatného počtu tabulek, mějte na paměti následující důležité body:
- Logické replikace velkého počtu tabulek nemusí nutně potřebovat velký počet odesílatelů WAL.
- Jediným důvodem, proč potřebujete samostatného odesílatele WAL pro tabulku nebo skupinu tabulek, je, že potřebujete samostatná předplatná pro každou z těchto tabulek nebo skupin.
- Jakýkoli počet odesílatelů WAL využívaných pro fyzickou a logickou replikaci se všechny stanou aktivními současně, kdykoli jakékoli zázemí zapíše něco do logu zápisu dopředu. V takovém případě se všichni odesílatelé WAL, kteří jsou přiřazeni k logické replikaci, probouzejí:
- Dekódujte všechny nové záznamy v WAL,
- Vyfiltrujte záznamy protokolu, které je nezajímají.
- Replikujte data, která jsou pro každou z nich relevantní.
- Odesílatelé WAL se podobají připojením v tom, že pokud nejsou aktivní, nezáleží na jejich počtu. Pokud jsou ale aktivní, budou jen soutěžit o stejné prostředky a výkon může být hrozně špatný. To platí zejména pro odesílatele s logickou replikací, protože logické dekódování je poměrně nákladné. Každý jednotlivý pracovník musí dekódovat celý WAL, i když replikuje pouze transakce ovlivňující jednu tabulku a ty představují jen malé procento všech dat v celém WAL. Pro fyzickou replikaci není to tak důležité, protože odesílatelé WAL nevyužívají procesor tak intenzivně a mají tendenci být nejprve vázáni šířkou pásma sítě.
- Obecně je tedy lepší mít ne mnohem více odesílatelů WAL než virtuálních jader.
- Je vhodné vyhradit místo pro několik dalších odesílačů WAL, aby bylo možné zvládnout budoucí růst nebo dočasné špičky v připojeních replikace. Následující dva příklady vám můžou pomoct lépe ilustrovat.
- Pro server s 8 vCores, zakázanou HA, 2 replikami pro čtení a 3 logickými sloty replikace pravděpodobně budete chtít nakonfigurovat
max_wal_senders jako součet fyzických slotů pro HA (0) + fyzických slotů pro repliky pro čtení (2) + logických slotů (3) + nějakých navíc pro budoucí růst, přičemž zvažte dostupné vCores (1) = 6.
- Pro server se 16 vCore, povolenou vysokou dostupností (HA), 4 replikami pro čtení a 5 sloty logické replikace možná budete chtít nakonfigurovat
max_wal_senders jako součet fyzických slotů pro HA (2) + fyzické sloty pro repliky pro čtení (4) + logické sloty (5) + několik dalších pro budoucí růst s ohledem na dostupné vCore (2) = 13.
- Pokud povolíte vysokou dostupnost, potřebujete minimálně 4
max_wal_senders , aby vysoká dostupnost fungovala správně. Pro server s povolenou vysokou dostupností plus 5 replik pro čtení a 12 slotů logické replikace můžete chtít nakonfigurovat max_wal_senders na 21. Důvodem je to, že každá replika pro čtení a každý slot logické replikace vyžaduje jednu repliku max_wal_senders. Proto vyžaduje celkem 1 (slot) * 5 (replikace pro čtení) + 12 (sloty logické replikace) + 4 (k zajištění vysoké dostupnosti) = 21.
- Pokud si stále myslíte, že maximální povolená hodnota pro tento parametr je pro vaše potřeby příliš nízká, obraťte se na nás, podrobně popište svůj scénář a vysvětlete, co považujete za minimální přijatelnou hodnotu, kterou byste potřebovali, aby váš scénář fungoval správně.
track_commit_timestamp
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Shromažďuje čas potvrzení transakce. |
| Datový typ |
Boolean |
| Výchozí hodnota |
off |
| Povolené hodnoty |
on,off |
| Typ parametru |
statický |
| Documentation |
track_commit_timestamp |
wal_keep_size
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Nastaví velikost souborů WAL uložených pro pohotovostní servery. |
| Datový typ |
integer |
| Výchozí hodnota |
400 |
| Povolené hodnoty |
400 |
| Typ parametru |
jen pro čtení |
| Documentation |
wal_keep_size |
wal_sender_timeout
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Nastaví maximální dobu čekání na replikaci WAL. |
| Datový typ |
integer |
| Výchozí hodnota |
60000 |
| Povolené hodnoty |
0-2147483647 |
| Typ parametru |
dynamic |
| Documentation |
wal_sender_timeout |
max_replication_slots
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Určuje maximální počet slotů replikace, které může server podporovat. |
| Datový typ |
integer |
| Výchozí hodnota |
10 |
| Povolené hodnoty |
2-262143 |
| Typ parametru |
statický |
| Documentation |
max_replication_slots |
Poznámky specifické pro Azure
Výchozí hodnota parametru max_replication_slots je 10. Pokud povolíte vysokou dostupnost, potřebujete minimálně 4 max_replication_slots , aby vysoká dostupnost fungovala správně.
Pro server s povolenou vysokou dostupností plus 5 replik pro čtení a 12 slotů logické replikace můžete chtít nakonfigurovat max_replication_slots na 21. Důvodem je to, že každá replika pro čtení a každý slot logické replikace vyžaduje jednu repliku max_replication_slot. Proto vyžaduje celkem 1 (slot) * 5 (replikace pro čtení) + 12 (sloty logické replikace) + 4 (k zajištění vysoké dostupnosti) = 21.
max_slot_wal_keep_size
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Nastaví maximální velikost WAL, kterou můžou rezervovat sloty replikace. |
| Datový typ |
integer |
| Výchozí hodnota |
-1 |
| Povolené hodnoty |
-1 |
| Typ parametru |
jen pro čtení |
| Documentation |
max_slot_wal_keep_size |
max_wal_senders
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Nastaví maximální počet současně spuštěných procesů odesílatele WAL. |
| Datový typ |
integer |
| Výchozí hodnota |
10 |
| Povolené hodnoty |
5-100 |
| Typ parametru |
statický |
| Documentation |
max_wal_senders |
Poznámky specifické pro Azure
Výchozí hodnota parametru max_wal_senders serveru nastavená při zřizování instance flexibilního serveru Azure Database for PostgreSQL nesmí být nikdy nižší než níže 2 (if HA is enabled) + number of read replicas provisioned + slots_used_in_logical_replication.
Při zvažování potřeby zvýšit max_wal_senders na mnohem vyšší hodnotu, aby bylo možné se vypořádat s logickou replikací podstatného počtu tabulek, mějte na paměti následující důležité body:
- Logické replikace velkého počtu tabulek nemusí nutně potřebovat velký počet odesílatelů WAL.
- Jediným důvodem, proč potřebujete samostatného odesílatele WAL pro tabulku nebo skupinu tabulek, je, že potřebujete samostatná předplatná pro každou z těchto tabulek nebo skupin.
- Jakýkoli počet odesílatelů WAL využívaných pro fyzickou a logickou replikaci se všechny stanou aktivními současně, kdykoli jakékoli zázemí zapíše něco do logu zápisu dopředu. V takovém případě se všichni odesílatelé WAL, kteří jsou přiřazeni k logické replikaci, probouzejí:
- Dekódujte všechny nové záznamy v WAL,
- Vyfiltrujte záznamy protokolu, které je nezajímají.
- Replikujte data, která jsou pro každou z nich relevantní.
- Odesílatelé WAL se podobají připojením v tom, že pokud nejsou aktivní, nezáleží na jejich počtu. Pokud jsou ale aktivní, budou jen soutěžit o stejné prostředky a výkon může být hrozně špatný. To platí zejména pro odesílatele s logickou replikací, protože logické dekódování je poměrně nákladné. Každý jednotlivý pracovník musí dekódovat celý WAL, i když replikuje pouze transakce ovlivňující jednu tabulku a ty představují jen malé procento všech dat v celém WAL. Pro fyzickou replikaci není to tak důležité, protože odesílatelé WAL nevyužívají procesor tak intenzivně a mají tendenci být nejprve vázáni šířkou pásma sítě.
- Obecně je tedy lepší mít ne mnohem více odesílatelů WAL než virtuálních jader.
- Je vhodné vyhradit místo pro několik dalších odesílačů WAL, aby bylo možné zvládnout budoucí růst nebo dočasné špičky v připojeních replikace. Následující dva příklady vám můžou pomoct lépe ilustrovat.
- Pro server s 8 vCores, zakázanou HA, 2 replikami pro čtení a 3 logickými sloty replikace pravděpodobně budete chtít nakonfigurovat
max_wal_senders jako součet fyzických slotů pro HA (0) + fyzických slotů pro repliky pro čtení (2) + logických slotů (3) + nějakých navíc pro budoucí růst, přičemž zvažte dostupné vCores (1) = 6.
- Pro server se 16 vCore, povolenou vysokou dostupností (HA), 4 replikami pro čtení a 5 sloty logické replikace možná budete chtít nakonfigurovat
max_wal_senders jako součet fyzických slotů pro HA (2) + fyzické sloty pro repliky pro čtení (4) + logické sloty (5) + několik dalších pro budoucí růst s ohledem na dostupné vCore (2) = 13.
- Pokud povolíte vysokou dostupnost, potřebujete minimálně 4
max_wal_senders , aby vysoká dostupnost fungovala správně. Pro server s povolenou vysokou dostupností plus 5 replik pro čtení a 12 slotů logické replikace můžete chtít nakonfigurovat max_wal_senders na 21. Důvodem je to, že každá replika pro čtení a každý slot logické replikace vyžaduje jednu repliku max_wal_senders. Proto vyžaduje celkem 1 (slot) * 5 (replikace pro čtení) + 12 (sloty logické replikace) + 4 (k zajištění vysoké dostupnosti) = 21.
- Pokud si stále myslíte, že maximální povolená hodnota pro tento parametr je pro vaše potřeby příliš nízká, obraťte se na nás, podrobně popište svůj scénář a vysvětlete, co považujete za minimální přijatelnou hodnotu, kterou byste potřebovali, aby váš scénář fungoval správně.
track_commit_timestamp
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Shromažďuje čas potvrzení transakce. |
| Datový typ |
Boolean |
| Výchozí hodnota |
off |
| Povolené hodnoty |
on,off |
| Typ parametru |
statický |
| Documentation |
track_commit_timestamp |
wal_keep_size
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Nastaví velikost souborů WAL uložených pro pohotovostní servery. |
| Datový typ |
integer |
| Výchozí hodnota |
400 |
| Povolené hodnoty |
400 |
| Typ parametru |
jen pro čtení |
| Documentation |
wal_keep_size |
wal_sender_timeout
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Nastaví maximální dobu čekání na replikaci WAL. |
| Datový typ |
integer |
| Výchozí hodnota |
60000 |
| Povolené hodnoty |
0-2147483647 |
| Typ parametru |
dynamic |
| Documentation |
wal_sender_timeout |
max_replication_slots
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Určuje maximální počet slotů replikace, které může server podporovat. |
| Datový typ |
integer |
| Výchozí hodnota |
10 |
| Povolené hodnoty |
2-262143 |
| Typ parametru |
statický |
| Documentation |
max_replication_slots |
Poznámky specifické pro Azure
Výchozí hodnota parametru max_replication_slots je 10. Pokud povolíte vysokou dostupnost, potřebujete minimálně 4 max_replication_slots , aby vysoká dostupnost fungovala správně.
Pro server s povolenou vysokou dostupností plus 5 replik pro čtení a 12 slotů logické replikace můžete chtít nakonfigurovat max_replication_slots na 21. Důvodem je to, že každá replika pro čtení a každý slot logické replikace vyžaduje jednu repliku max_replication_slot. Proto vyžaduje celkem 1 (slot) * 5 (replikace pro čtení) + 12 (sloty logické replikace) + 4 (k zajištění vysoké dostupnosti) = 21.
max_slot_wal_keep_size
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Nastaví maximální velikost WAL, kterou můžou rezervovat sloty replikace. |
| Datový typ |
integer |
| Výchozí hodnota |
-1 |
| Povolené hodnoty |
-1 |
| Typ parametru |
jen pro čtení |
| Documentation |
max_slot_wal_keep_size |
max_wal_senders
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Nastaví maximální počet současně spuštěných procesů odesílatele WAL. |
| Datový typ |
integer |
| Výchozí hodnota |
10 |
| Povolené hodnoty |
5-100 |
| Typ parametru |
statický |
| Documentation |
max_wal_senders |
Poznámky specifické pro Azure
Výchozí hodnota parametru max_wal_senders serveru nastavená při zřizování instance flexibilního serveru Azure Database for PostgreSQL nesmí být nikdy nižší než níže 2 (if HA is enabled) + number of read replicas provisioned + slots_used_in_logical_replication.
Při zvažování potřeby zvýšit max_wal_senders na mnohem vyšší hodnotu, aby bylo možné se vypořádat s logickou replikací podstatného počtu tabulek, mějte na paměti následující důležité body:
- Logické replikace velkého počtu tabulek nemusí nutně potřebovat velký počet odesílatelů WAL.
- Jediným důvodem, proč potřebujete samostatného odesílatele WAL pro tabulku nebo skupinu tabulek, je, že potřebujete samostatná předplatná pro každou z těchto tabulek nebo skupin.
- Jakýkoli počet odesílatelů WAL využívaných pro fyzickou a logickou replikaci se všechny stanou aktivními současně, kdykoli jakékoli zázemí zapíše něco do logu zápisu dopředu. V takovém případě se všichni odesílatelé WAL, kteří jsou přiřazeni k logické replikaci, probouzejí:
- Dekódujte všechny nové záznamy v WAL,
- Vyfiltrujte záznamy protokolu, které je nezajímají.
- Replikujte data, která jsou pro každou z nich relevantní.
- Odesílatelé WAL se podobají připojením v tom, že pokud nejsou aktivní, nezáleží na jejich počtu. Pokud jsou ale aktivní, budou jen soutěžit o stejné prostředky a výkon může být hrozně špatný. To platí zejména pro odesílatele s logickou replikací, protože logické dekódování je poměrně nákladné. Každý jednotlivý pracovník musí dekódovat celý WAL, i když replikuje pouze transakce ovlivňující jednu tabulku a ty představují jen malé procento všech dat v celém WAL. Pro fyzickou replikaci není to tak důležité, protože odesílatelé WAL nevyužívají procesor tak intenzivně a mají tendenci být nejprve vázáni šířkou pásma sítě.
- Obecně je tedy lepší mít ne mnohem více odesílatelů WAL než virtuálních jader.
- Je vhodné vyhradit místo pro několik dalších odesílačů WAL, aby bylo možné zvládnout budoucí růst nebo dočasné špičky v připojeních replikace. Následující dva příklady vám můžou pomoct lépe ilustrovat.
- Pro server s 8 vCores, zakázanou HA, 2 replikami pro čtení a 3 logickými sloty replikace pravděpodobně budete chtít nakonfigurovat
max_wal_senders jako součet fyzických slotů pro HA (0) + fyzických slotů pro repliky pro čtení (2) + logických slotů (3) + nějakých navíc pro budoucí růst, přičemž zvažte dostupné vCores (1) = 6.
- Pro server se 16 vCore, povolenou vysokou dostupností (HA), 4 replikami pro čtení a 5 sloty logické replikace možná budete chtít nakonfigurovat
max_wal_senders jako součet fyzických slotů pro HA (2) + fyzické sloty pro repliky pro čtení (4) + logické sloty (5) + několik dalších pro budoucí růst s ohledem na dostupné vCore (2) = 13.
- Pokud povolíte vysokou dostupnost, potřebujete minimálně 4
max_wal_senders , aby vysoká dostupnost fungovala správně. Pro server s povolenou vysokou dostupností plus 5 replik pro čtení a 12 slotů logické replikace můžete chtít nakonfigurovat max_wal_senders na 21. Důvodem je to, že každá replika pro čtení a každý slot logické replikace vyžaduje jednu repliku max_wal_senders. Proto vyžaduje celkem 1 (slot) * 5 (replikace pro čtení) + 12 (sloty logické replikace) + 4 (k zajištění vysoké dostupnosti) = 21.
- Pokud si stále myslíte, že maximální povolená hodnota pro tento parametr je pro vaše potřeby příliš nízká, obraťte se na nás, podrobně popište svůj scénář a vysvětlete, co považujete za minimální přijatelnou hodnotu, kterou byste potřebovali, aby váš scénář fungoval správně.
track_commit_timestamp
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Shromažďuje čas potvrzení transakce. |
| Datový typ |
Boolean |
| Výchozí hodnota |
off |
| Povolené hodnoty |
on,off |
| Typ parametru |
statický |
| Documentation |
track_commit_timestamp |
wal_keep_size
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Nastaví velikost souborů WAL uložených pro pohotovostní servery. |
| Datový typ |
integer |
| Výchozí hodnota |
400 |
| Povolené hodnoty |
400 |
| Typ parametru |
jen pro čtení |
| Documentation |
wal_keep_size |
wal_sender_timeout
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Nastaví maximální dobu čekání na replikaci WAL. |
| Datový typ |
integer |
| Výchozí hodnota |
60000 |
| Povolené hodnoty |
0-2147483647 |
| Typ parametru |
dynamic |
| Documentation |
wal_sender_timeout |
max_replication_slots
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Určuje maximální počet slotů replikace, které může server podporovat. |
| Datový typ |
integer |
| Výchozí hodnota |
10 |
| Povolené hodnoty |
2-262143 |
| Typ parametru |
statický |
| Documentation |
max_replication_slots |
Poznámky specifické pro Azure
Výchozí hodnota parametru max_replication_slots je 10. Pokud povolíte vysokou dostupnost, potřebujete minimálně 4 max_replication_slots , aby vysoká dostupnost fungovala správně.
Pro server s povolenou vysokou dostupností plus 5 replik pro čtení a 12 slotů logické replikace můžete chtít nakonfigurovat max_replication_slots na 21. Důvodem je to, že každá replika pro čtení a každý slot logické replikace vyžaduje jednu repliku max_replication_slot. Proto vyžaduje celkem 1 (slot) * 5 (replikace pro čtení) + 12 (sloty logické replikace) + 4 (k zajištění vysoké dostupnosti) = 21.
max_slot_wal_keep_size
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Nastaví maximální velikost WAL, kterou můžou rezervovat sloty replikace. |
| Datový typ |
integer |
| Výchozí hodnota |
-1 |
| Povolené hodnoty |
-1 |
| Typ parametru |
jen pro čtení |
| Documentation |
max_slot_wal_keep_size |
max_wal_senders
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Nastaví maximální počet současně spuštěných procesů odesílatele WAL. |
| Datový typ |
integer |
| Výchozí hodnota |
10 |
| Povolené hodnoty |
5-100 |
| Typ parametru |
statický |
| Documentation |
max_wal_senders |
Poznámky specifické pro Azure
Výchozí hodnota parametru max_wal_senders serveru nastavená při zřizování instance flexibilního serveru Azure Database for PostgreSQL nesmí být nikdy nižší než níže 2 (if HA is enabled) + number of read replicas provisioned + slots_used_in_logical_replication.
Při zvažování potřeby zvýšit max_wal_senders na mnohem vyšší hodnotu, aby bylo možné se vypořádat s logickou replikací podstatného počtu tabulek, mějte na paměti následující důležité body:
- Logické replikace velkého počtu tabulek nemusí nutně potřebovat velký počet odesílatelů WAL.
- Jediným důvodem, proč potřebujete samostatného odesílatele WAL pro tabulku nebo skupinu tabulek, je, že potřebujete samostatná předplatná pro každou z těchto tabulek nebo skupin.
- Jakýkoli počet odesílatelů WAL využívaných pro fyzickou a logickou replikaci se všechny stanou aktivními současně, kdykoli jakékoli zázemí zapíše něco do logu zápisu dopředu. V takovém případě se všichni odesílatelé WAL, kteří jsou přiřazeni k logické replikaci, probouzejí:
- Dekódujte všechny nové záznamy v WAL,
- Vyfiltrujte záznamy protokolu, které je nezajímají.
- Replikujte data, která jsou pro každou z nich relevantní.
- Odesílatelé WAL se podobají připojením v tom, že pokud nejsou aktivní, nezáleží na jejich počtu. Pokud jsou ale aktivní, budou jen soutěžit o stejné prostředky a výkon může být hrozně špatný. To platí zejména pro odesílatele s logickou replikací, protože logické dekódování je poměrně nákladné. Každý jednotlivý pracovník musí dekódovat celý WAL, i když replikuje pouze transakce ovlivňující jednu tabulku a ty představují jen malé procento všech dat v celém WAL. Pro fyzickou replikaci není to tak důležité, protože odesílatelé WAL nevyužívají procesor tak intenzivně a mají tendenci být nejprve vázáni šířkou pásma sítě.
- Obecně je tedy lepší mít ne mnohem více odesílatelů WAL než virtuálních jader.
- Je vhodné vyhradit místo pro několik dalších odesílačů WAL, aby bylo možné zvládnout budoucí růst nebo dočasné špičky v připojeních replikace. Následující dva příklady vám můžou pomoct lépe ilustrovat.
- Pro server s 8 vCores, zakázanou HA, 2 replikami pro čtení a 3 logickými sloty replikace pravděpodobně budete chtít nakonfigurovat
max_wal_senders jako součet fyzických slotů pro HA (0) + fyzických slotů pro repliky pro čtení (2) + logických slotů (3) + nějakých navíc pro budoucí růst, přičemž zvažte dostupné vCores (1) = 6.
- Pro server se 16 vCore, povolenou vysokou dostupností (HA), 4 replikami pro čtení a 5 sloty logické replikace možná budete chtít nakonfigurovat
max_wal_senders jako součet fyzických slotů pro HA (2) + fyzické sloty pro repliky pro čtení (4) + logické sloty (5) + několik dalších pro budoucí růst s ohledem na dostupné vCore (2) = 13.
- Pokud povolíte vysokou dostupnost, potřebujete minimálně 4
max_wal_senders , aby vysoká dostupnost fungovala správně. Pro server s povolenou vysokou dostupností plus 5 replik pro čtení a 12 slotů logické replikace můžete chtít nakonfigurovat max_wal_senders na 21. Důvodem je to, že každá replika pro čtení a každý slot logické replikace vyžaduje jednu repliku max_wal_senders. Proto vyžaduje celkem 1 (slot) * 5 (replikace pro čtení) + 12 (sloty logické replikace) + 4 (k zajištění vysoké dostupnosti) = 21.
- Pokud si stále myslíte, že maximální povolená hodnota pro tento parametr je pro vaše potřeby příliš nízká, obraťte se na nás, podrobně popište svůj scénář a vysvětlete, co považujete za minimální přijatelnou hodnotu, kterou byste potřebovali, aby váš scénář fungoval správně.
track_commit_timestamp
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Shromažďuje čas potvrzení transakce. |
| Datový typ |
Boolean |
| Výchozí hodnota |
off |
| Povolené hodnoty |
on,off |
| Typ parametru |
statický |
| Documentation |
track_commit_timestamp |
wal_keep_size
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Nastaví velikost souborů WAL uložených pro pohotovostní servery. |
| Datový typ |
integer |
| Výchozí hodnota |
400 |
| Povolené hodnoty |
400 |
| Typ parametru |
jen pro čtení |
| Documentation |
wal_keep_size |
wal_sender_timeout
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Nastaví maximální dobu čekání na replikaci WAL. |
| Datový typ |
integer |
| Výchozí hodnota |
60000 |
| Povolené hodnoty |
0-2147483647 |
| Typ parametru |
dynamic |
| Documentation |
wal_sender_timeout |
max_replication_slots
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Určuje maximální počet slotů replikace, které může server podporovat. |
| Datový typ |
integer |
| Výchozí hodnota |
10 |
| Povolené hodnoty |
2-262143 |
| Typ parametru |
statický |
| Documentation |
max_replication_slots |
Poznámky specifické pro Azure
Výchozí hodnota parametru max_replication_slots je 10. Pokud povolíte vysokou dostupnost, potřebujete minimálně 4 max_replication_slots , aby vysoká dostupnost fungovala správně.
Pro server s povolenou vysokou dostupností plus 5 replik pro čtení a 12 slotů logické replikace můžete chtít nakonfigurovat max_replication_slots na 21. Důvodem je to, že každá replika pro čtení a každý slot logické replikace vyžaduje jednu repliku max_replication_slot. Proto vyžaduje celkem 1 (slot) * 5 (replikace pro čtení) + 12 (sloty logické replikace) + 4 (k zajištění vysoké dostupnosti) = 21.
max_slot_wal_keep_size
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Nastaví maximální velikost WAL, kterou můžou rezervovat sloty replikace. |
| Datový typ |
integer |
| Výchozí hodnota |
-1 |
| Povolené hodnoty |
-1 |
| Typ parametru |
jen pro čtení |
| Documentation |
max_slot_wal_keep_size |
max_wal_senders
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Nastaví maximální počet současně spuštěných procesů odesílatele WAL. |
| Datový typ |
integer |
| Výchozí hodnota |
10 |
| Povolené hodnoty |
5-100 |
| Typ parametru |
statický |
| Documentation |
max_wal_senders |
Poznámky specifické pro Azure
Výchozí hodnota parametru max_wal_senders serveru nastavená při zřizování instance flexibilního serveru Azure Database for PostgreSQL nesmí být nikdy nižší než níže 2 (if HA is enabled) + number of read replicas provisioned + slots_used_in_logical_replication.
Při zvažování potřeby zvýšit max_wal_senders na mnohem vyšší hodnotu, aby bylo možné se vypořádat s logickou replikací podstatného počtu tabulek, mějte na paměti následující důležité body:
- Logické replikace velkého počtu tabulek nemusí nutně potřebovat velký počet odesílatelů WAL.
- Jediným důvodem, proč potřebujete samostatného odesílatele WAL pro tabulku nebo skupinu tabulek, je, že potřebujete samostatná předplatná pro každou z těchto tabulek nebo skupin.
- Jakýkoli počet odesílatelů WAL využívaných pro fyzickou a logickou replikaci se všechny stanou aktivními současně, kdykoli jakékoli zázemí zapíše něco do logu zápisu dopředu. V takovém případě se všichni odesílatelé WAL, kteří jsou přiřazeni k logické replikaci, probouzejí:
- Dekódujte všechny nové záznamy v WAL,
- Vyfiltrujte záznamy protokolu, které je nezajímají.
- Replikujte data, která jsou pro každou z nich relevantní.
- Odesílatelé WAL se podobají připojením v tom, že pokud nejsou aktivní, nezáleží na jejich počtu. Pokud jsou ale aktivní, budou jen soutěžit o stejné prostředky a výkon může být hrozně špatný. To platí zejména pro odesílatele s logickou replikací, protože logické dekódování je poměrně nákladné. Každý jednotlivý pracovník musí dekódovat celý WAL, i když replikuje pouze transakce ovlivňující jednu tabulku a ty představují jen malé procento všech dat v celém WAL. Pro fyzickou replikaci není to tak důležité, protože odesílatelé WAL nevyužívají procesor tak intenzivně a mají tendenci být nejprve vázáni šířkou pásma sítě.
- Obecně je tedy lepší mít ne mnohem více odesílatelů WAL než virtuálních jader.
- Je vhodné vyhradit místo pro několik dalších odesílačů WAL, aby bylo možné zvládnout budoucí růst nebo dočasné špičky v připojeních replikace. Následující dva příklady vám můžou pomoct lépe ilustrovat.
- Pro server s 8 vCores, zakázanou HA, 2 replikami pro čtení a 3 logickými sloty replikace pravděpodobně budete chtít nakonfigurovat
max_wal_senders jako součet fyzických slotů pro HA (0) + fyzických slotů pro repliky pro čtení (2) + logických slotů (3) + nějakých navíc pro budoucí růst, přičemž zvažte dostupné vCores (1) = 6.
- Pro server se 16 vCore, povolenou vysokou dostupností (HA), 4 replikami pro čtení a 5 sloty logické replikace možná budete chtít nakonfigurovat
max_wal_senders jako součet fyzických slotů pro HA (2) + fyzické sloty pro repliky pro čtení (4) + logické sloty (5) + několik dalších pro budoucí růst s ohledem na dostupné vCore (2) = 13.
- Pokud povolíte vysokou dostupnost, potřebujete minimálně 4
max_wal_senders , aby vysoká dostupnost fungovala správně. Pro server s povolenou vysokou dostupností plus 5 replik pro čtení a 12 slotů logické replikace můžete chtít nakonfigurovat max_wal_senders na 21. Důvodem je to, že každá replika pro čtení a každý slot logické replikace vyžaduje jednu repliku max_wal_senders. Proto vyžaduje celkem 1 (slot) * 5 (replikace pro čtení) + 12 (sloty logické replikace) + 4 (k zajištění vysoké dostupnosti) = 21.
- Pokud si stále myslíte, že maximální povolená hodnota pro tento parametr je pro vaše potřeby příliš nízká, obraťte se na nás, podrobně popište svůj scénář a vysvětlete, co považujete za minimální přijatelnou hodnotu, kterou byste potřebovali, aby váš scénář fungoval správně.
track_commit_timestamp
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Shromažďuje čas potvrzení transakce. |
| Datový typ |
Boolean |
| Výchozí hodnota |
off |
| Povolené hodnoty |
on,off |
| Typ parametru |
statický |
| Documentation |
track_commit_timestamp |
wal_keep_size
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Nastaví velikost souborů WAL uložených pro pohotovostní servery. |
| Datový typ |
integer |
| Výchozí hodnota |
400 |
| Povolené hodnoty |
400 |
| Typ parametru |
jen pro čtení |
| Documentation |
wal_keep_size |
wal_sender_timeout
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Nastaví maximální dobu čekání na replikaci WAL. |
| Datový typ |
integer |
| Výchozí hodnota |
60000 |
| Povolené hodnoty |
0-2147483647 |
| Typ parametru |
dynamic |
| Documentation |
wal_sender_timeout |
max_replication_slots
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Určuje maximální počet slotů replikace, které může server podporovat. |
| Datový typ |
integer |
| Výchozí hodnota |
10 |
| Povolené hodnoty |
2-262143 |
| Typ parametru |
statický |
| Documentation |
max_replication_slots |
Poznámky specifické pro Azure
Výchozí hodnota parametru max_replication_slots je 10. Pokud povolíte vysokou dostupnost, potřebujete minimálně 4 max_replication_slots , aby vysoká dostupnost fungovala správně.
Pro server s povolenou vysokou dostupností plus 5 replik pro čtení a 12 slotů logické replikace můžete chtít nakonfigurovat max_replication_slots na 21. Důvodem je to, že každá replika pro čtení a každý slot logické replikace vyžaduje jednu repliku max_replication_slot. Proto vyžaduje celkem 1 (slot) * 5 (replikace pro čtení) + 12 (sloty logické replikace) + 4 (k zajištění vysoké dostupnosti) = 21.
max_wal_senders
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Nastaví maximální počet současně spuštěných procesů odesílatele WAL. |
| Datový typ |
integer |
| Výchozí hodnota |
10 |
| Povolené hodnoty |
5-100 |
| Typ parametru |
statický |
| Documentation |
max_wal_senders |
Poznámky specifické pro Azure
Výchozí hodnota parametru max_wal_senders serveru nastavená při zřizování instance flexibilního serveru Azure Database for PostgreSQL nesmí být nikdy nižší než níže 2 (if HA is enabled) + number of read replicas provisioned + slots_used_in_logical_replication.
Při zvažování potřeby zvýšit max_wal_senders na mnohem vyšší hodnotu, aby bylo možné se vypořádat s logickou replikací podstatného počtu tabulek, mějte na paměti následující důležité body:
- Logické replikace velkého počtu tabulek nemusí nutně potřebovat velký počet odesílatelů WAL.
- Jediným důvodem, proč potřebujete samostatného odesílatele WAL pro tabulku nebo skupinu tabulek, je, že potřebujete samostatná předplatná pro každou z těchto tabulek nebo skupin.
- Jakýkoli počet odesílatelů WAL využívaných pro fyzickou a logickou replikaci se všechny stanou aktivními současně, kdykoli jakékoli zázemí zapíše něco do logu zápisu dopředu. V takovém případě se všichni odesílatelé WAL, kteří jsou přiřazeni k logické replikaci, probouzejí:
- Dekódujte všechny nové záznamy v WAL,
- Vyfiltrujte záznamy protokolu, které je nezajímají.
- Replikujte data, která jsou pro každou z nich relevantní.
- Odesílatelé WAL se podobají připojením v tom, že pokud nejsou aktivní, nezáleží na jejich počtu. Pokud jsou ale aktivní, budou jen soutěžit o stejné prostředky a výkon může být hrozně špatný. To platí zejména pro odesílatele s logickou replikací, protože logické dekódování je poměrně nákladné. Každý jednotlivý pracovník musí dekódovat celý WAL, i když replikuje pouze transakce ovlivňující jednu tabulku a ty představují jen malé procento všech dat v celém WAL. Pro fyzickou replikaci není to tak důležité, protože odesílatelé WAL nevyužívají procesor tak intenzivně a mají tendenci být nejprve vázáni šířkou pásma sítě.
- Obecně je tedy lepší mít ne mnohem více odesílatelů WAL než virtuálních jader.
- Je vhodné vyhradit místo pro několik dalších odesílačů WAL, aby bylo možné zvládnout budoucí růst nebo dočasné špičky v připojeních replikace. Následující dva příklady vám můžou pomoct lépe ilustrovat.
- Pro server s 8 vCores, zakázanou HA, 2 replikami pro čtení a 3 logickými sloty replikace pravděpodobně budete chtít nakonfigurovat
max_wal_senders jako součet fyzických slotů pro HA (0) + fyzických slotů pro repliky pro čtení (2) + logických slotů (3) + nějakých navíc pro budoucí růst, přičemž zvažte dostupné vCores (1) = 6.
- Pro server se 16 vCore, povolenou vysokou dostupností (HA), 4 replikami pro čtení a 5 sloty logické replikace možná budete chtít nakonfigurovat
max_wal_senders jako součet fyzických slotů pro HA (2) + fyzické sloty pro repliky pro čtení (4) + logické sloty (5) + několik dalších pro budoucí růst s ohledem na dostupné vCore (2) = 13.
- Pokud povolíte vysokou dostupnost, potřebujete minimálně 4
max_wal_senders , aby vysoká dostupnost fungovala správně. Pro server s povolenou vysokou dostupností plus 5 replik pro čtení a 12 slotů logické replikace můžete chtít nakonfigurovat max_wal_senders na 21. Důvodem je to, že každá replika pro čtení a každý slot logické replikace vyžaduje jednu repliku max_wal_senders. Proto vyžaduje celkem 1 (slot) * 5 (replikace pro čtení) + 12 (sloty logické replikace) + 4 (k zajištění vysoké dostupnosti) = 21.
- Pokud si stále myslíte, že maximální povolená hodnota pro tento parametr je pro vaše potřeby příliš nízká, obraťte se na nás, podrobně popište svůj scénář a vysvětlete, co považujete za minimální přijatelnou hodnotu, kterou byste potřebovali, aby váš scénář fungoval správně.
track_commit_timestamp
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Shromažďuje čas potvrzení transakce. |
| Datový typ |
Boolean |
| Výchozí hodnota |
off |
| Povolené hodnoty |
on,off |
| Typ parametru |
statický |
| Documentation |
track_commit_timestamp |
Nastavení "wal_keep_segments"
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Nastaví počet souborů WAL uložených pro pohotovostní servery. |
| Datový typ |
integer |
| Výchozí hodnota |
25 |
| Povolené hodnoty |
25 |
| Typ parametru |
jen pro čtení |
| Documentation |
|
wal_sender_timeout
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Nastaví maximální dobu čekání na replikaci WAL. |
| Datový typ |
integer |
| Výchozí hodnota |
60000 |
| Povolené hodnoty |
0-2147483647 |
| Typ parametru |
dynamic |
| Documentation |
wal_sender_timeout |
max_replication_slots
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Určuje maximální počet slotů replikace, které může server podporovat. |
| Datový typ |
integer |
| Výchozí hodnota |
10 |
| Povolené hodnoty |
2-262143 |
| Typ parametru |
statický |
| Documentation |
max_replication_slots |
Poznámky specifické pro Azure
Výchozí hodnota parametru max_replication_slots je 10. Pokud povolíte vysokou dostupnost, potřebujete minimálně 4 max_replication_slots , aby vysoká dostupnost fungovala správně.
Pro server s povolenou vysokou dostupností plus 5 replik pro čtení a 12 slotů logické replikace můžete chtít nakonfigurovat max_replication_slots na 21. Důvodem je to, že každá replika pro čtení a každý slot logické replikace vyžaduje jednu repliku max_replication_slot. Proto vyžaduje celkem 1 (slot) * 5 (replikace pro čtení) + 12 (sloty logické replikace) + 4 (k zajištění vysoké dostupnosti) = 21.
max_wal_senders
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Nastaví maximální počet současně spuštěných procesů odesílatele WAL. |
| Datový typ |
integer |
| Výchozí hodnota |
10 |
| Povolené hodnoty |
5-100 |
| Typ parametru |
statický |
| Documentation |
max_wal_senders |
Poznámky specifické pro Azure
Výchozí hodnota parametru max_wal_senders serveru nastavená při zřizování instance flexibilního serveru Azure Database for PostgreSQL nesmí být nikdy nižší než níže 2 (if HA is enabled) + number of read replicas provisioned + slots_used_in_logical_replication.
Při zvažování potřeby zvýšit max_wal_senders na mnohem vyšší hodnotu, aby bylo možné se vypořádat s logickou replikací podstatného počtu tabulek, mějte na paměti následující důležité body:
- Logické replikace velkého počtu tabulek nemusí nutně potřebovat velký počet odesílatelů WAL.
- Jediným důvodem, proč potřebujete samostatného odesílatele WAL pro tabulku nebo skupinu tabulek, je, že potřebujete samostatná předplatná pro každou z těchto tabulek nebo skupin.
- Jakýkoli počet odesílatelů WAL využívaných pro fyzickou a logickou replikaci se všechny stanou aktivními současně, kdykoli jakékoli zázemí zapíše něco do logu zápisu dopředu. V takovém případě se všichni odesílatelé WAL, kteří jsou přiřazeni k logické replikaci, probouzejí:
- Dekódujte všechny nové záznamy v WAL,
- Vyfiltrujte záznamy protokolu, které je nezajímají.
- Replikujte data, která jsou pro každou z nich relevantní.
- Odesílatelé WAL se podobají připojením v tom, že pokud nejsou aktivní, nezáleží na jejich počtu. Pokud jsou ale aktivní, budou jen soutěžit o stejné prostředky a výkon může být hrozně špatný. To platí zejména pro odesílatele s logickou replikací, protože logické dekódování je poměrně nákladné. Každý jednotlivý pracovník musí dekódovat celý WAL, i když replikuje pouze transakce ovlivňující jednu tabulku a ty představují jen malé procento všech dat v celém WAL. Pro fyzickou replikaci není to tak důležité, protože odesílatelé WAL nevyužívají procesor tak intenzivně a mají tendenci být nejprve vázáni šířkou pásma sítě.
- Obecně je tedy lepší mít ne mnohem více odesílatelů WAL než virtuálních jader.
- Je vhodné vyhradit místo pro několik dalších odesílačů WAL, aby bylo možné zvládnout budoucí růst nebo dočasné špičky v připojeních replikace. Následující dva příklady vám můžou pomoct lépe ilustrovat.
- Pro server s 8 vCores, zakázanou HA, 2 replikami pro čtení a 3 logickými sloty replikace pravděpodobně budete chtít nakonfigurovat
max_wal_senders jako součet fyzických slotů pro HA (0) + fyzických slotů pro repliky pro čtení (2) + logických slotů (3) + nějakých navíc pro budoucí růst, přičemž zvažte dostupné vCores (1) = 6.
- Pro server se 16 vCore, povolenou vysokou dostupností (HA), 4 replikami pro čtení a 5 sloty logické replikace možná budete chtít nakonfigurovat
max_wal_senders jako součet fyzických slotů pro HA (2) + fyzické sloty pro repliky pro čtení (4) + logické sloty (5) + několik dalších pro budoucí růst s ohledem na dostupné vCore (2) = 13.
- Pokud povolíte vysokou dostupnost, potřebujete minimálně 4
max_wal_senders , aby vysoká dostupnost fungovala správně. Pro server s povolenou vysokou dostupností plus 5 replik pro čtení a 12 slotů logické replikace můžete chtít nakonfigurovat max_wal_senders na 21. Důvodem je to, že každá replika pro čtení a každý slot logické replikace vyžaduje jednu repliku max_wal_senders. Proto vyžaduje celkem 1 (slot) * 5 (replikace pro čtení) + 12 (sloty logické replikace) + 4 (k zajištění vysoké dostupnosti) = 21.
- Pokud si stále myslíte, že maximální povolená hodnota pro tento parametr je pro vaše potřeby příliš nízká, obraťte se na nás, podrobně popište svůj scénář a vysvětlete, co považujete za minimální přijatelnou hodnotu, kterou byste potřebovali, aby váš scénář fungoval správně.
track_commit_timestamp
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Shromažďuje čas potvrzení transakce. |
| Datový typ |
Boolean |
| Výchozí hodnota |
off |
| Povolené hodnoty |
on,off |
| Typ parametru |
statický |
| Documentation |
track_commit_timestamp |
Nastavení "wal_keep_segments"
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Nastaví počet souborů WAL uložených pro pohotovostní servery. |
| Datový typ |
integer |
| Výchozí hodnota |
25 |
| Povolené hodnoty |
25 |
| Typ parametru |
jen pro čtení |
| Documentation |
|
wal_sender_timeout
| Vlastnost |
Hodnota |
| Kategorie |
Replikace / Odesílání Serverů |
| Description |
Nastaví maximální dobu čekání na replikaci WAL. |
| Datový typ |
integer |
| Výchozí hodnota |
60000 |
| Povolené hodnoty |
0-2147483647 |
| Typ parametru |
dynamic |
| Documentation |
wal_sender_timeout |