Udostępnij za pośrednictwem


Replikacja/wysyłanie serwerów

max_replication_slots

Atrybut Wartość
Kategoria Replikacja/wysyłanie serwerów
opis Określa maksymalną liczbę miejsc replikacji, które może obsługiwać serwer.
Typ danych integer
Domyślna wartość 10
Dozwolone wartości 2-262143
Typ parametru static
Dokumentacja max_replication_slots

max_slot_wal_keep_size

Atrybut Wartość
Kategoria Replikacja/wysyłanie serwerów
opis Ustawia maksymalny rozmiar pliku WAL, który może być zarezerwowany przez miejsca replikacji.
Typ danych integer
Domyślna wartość -1
Dozwolone wartości -1
Typ parametru tylko do odczytu
Dokumentacja max_slot_wal_keep_size

max_wal_senders

Atrybut Wartość
Kategoria Replikacja/wysyłanie serwerów
opis Ustawia maksymalną liczbę jednocześnie uruchomionych procesów nadawcy WAL.
Typ danych integer
Domyślna wartość 10
Dozwolone wartości 5-100
Typ parametru static
Dokumentacja max_wal_senders

Uwagi specyficzne dla platformy Azure

Wartość domyślna parametru max_wal_senders serwera ustawiona podczas aprowizacji wystąpienia serwera elastycznego usługi Azure Database for PostgreSQL nigdy nie może być zmniejszona poniżej 2 (if HA is enabled) + number of read replicas provisioned + slots_used_in_logical_replication.

Biorąc pod uwagę konieczność zwiększenia max_wal_senders do znacznie wyższej wartości, aby móc poradzić sobie z replikacją logiczną znacznej liczby tabel, należy pamiętać o następujących ważnych kwestiach:

  • Logicznie replikowanie dużej liczby tabel nie musi wymagać dużej liczby nadawców WAL.
  • Jedynym powodem, dla którego potrzebujesz oddzielnego nadawcy WAL dla tabeli lub grupy tabel, jest potrzeba oddzielnych subskrypcji dla każdej z tych tabel lub grup.
  • Niezależnie od liczby nadawców WAL, które są używane do replikacji fizycznej i logicznej, wszystkie stają się aktywne jednocześnie, za każdym razem, gdy dowolne zaplecze zapisuje coś w dzienniku z wyprzedzeniem zapisu. W takim przypadku nadawcy WAL przypisani do replikacji logicznej są wznawiani do:
    1. Zdekoduj wszystkie nowe rekordy w pliku WAL,
    2. Odfiltruj rekordy dzienników, których nie interesują,
    3. Replikuj dane, które są odpowiednie dla każdego z nich.
  • Nadawcy WAL są podobni do połączeń w tym sensie, że jeśli są bezczynne, nie ma znaczenia, ile istnieje. Jeśli jednak są aktywne, będą one po prostu konkurować o te same zasoby, a wydajność może skończyć się strasznie źle. Jest to szczególnie istotne w przypadku nadawców z replikacją logiczną, ponieważ dekodowanie logiczne jest raczej kosztowne dla procesora CPU. Każdy proces roboczy musi zdekodować cały plik WAL, nawet jeśli replikuje tylko operacje wpływające na jedną tabelę i reprezentuje niewielki procent wszystkich danych w dzienniku zapisu z wyprzedzeniem. W przypadku replikacji fizycznej nie jest tak ważne, ponieważ nadawcy WAL nie zużywają procesora CPU tak intensywnie i mają tendencję do ograniczenia przepustowości sieci.
  • W związku z tym ogólnie lepiej nie mieć wielu nadawców WAL niż rdzenie wirtualne.
  • Dobrym rozwiązaniem jest dodanie miejsca dla kilku dodatkowych nadawców WAL w celu uwzględnienia przyszłych wzrostów lub tymczasowych skoków połączeń replikacji. Poniższe dwa przykłady mogą pomóc zilustrować go lepiej.
    • W przypadku serwera z 8 rdzeniami wirtualnymi, wyłączoną wysoką dostępnością, 2 replikami do odczytu i 3 miejscami replikacji logicznej można skonfigurować max_wal_senders jako sumę miejsc fizycznych dla wysokiej dostępności (0) + miejsc fizycznych dla replik do odczytu (2) + gniazd logicznych (3) + dodatkowe dla przyszłego wzrostu, biorąc pod uwagę dostępne rdzenie wirtualne (1) = 6.
    • W przypadku serwera z 16 rdzeniami wirtualnymi włączono wysoką dostępność, 4 repliki do odczytu i 5 gniazd replikacji logicznej, możesz skonfigurować max_wal_senders jako sumę miejsc fizycznych dla wysokiej dostępności (2) + miejsc fizycznych dla replik do odczytu (4) + gniazda logiczne (5) + dodatkowe dla przyszłego wzrostu, biorąc pod uwagę dostępne rdzenie wirtualne (2) = 13.
  • Jeśli nadal uważasz, że maksymalna dozwolona wartość dla tego parametru jest zbyt niska dla Twoich potrzeb, skontaktuj się z nami, opisz szczegółowo twój scenariusz i wyjaśnij, co należy wziąć pod uwagę, że byłaby to minimalna akceptowalna wartość, której potrzebujesz, aby scenariusz działał prawidłowo.

track_commit_timestamp

Atrybut Wartość
Kategoria Replikacja/wysyłanie serwerów
opis Zbiera czas zatwierdzenia transakcji.
Typ danych boolean
Domyślna wartość off
Dozwolone wartości on,off
Typ parametru static
Dokumentacja track_commit_timestamp

wal_keep_size

Atrybut Wartość
Kategoria Replikacja/wysyłanie serwerów
opis Ustawia rozmiar plików WAL przechowywanych dla serwerów rezerwowych.
Typ danych integer
Domyślna wartość 400
Dozwolone wartości 400
Typ parametru tylko do odczytu
Dokumentacja wal_keep_size

wal_sender_timeout

Atrybut Wartość
Kategoria Replikacja/wysyłanie serwerów
opis Ustawia maksymalny czas oczekiwania na replikację WAL.
Typ danych integer
Domyślna wartość 60000
Dozwolone wartości 60000
Typ parametru tylko do odczytu
Dokumentacja wal_sender_timeout

max_replication_slots

Atrybut Wartość
Kategoria Replikacja/wysyłanie serwerów
opis Określa maksymalną liczbę miejsc replikacji, które może obsługiwać serwer.
Typ danych integer
Domyślna wartość 10
Dozwolone wartości 2-262143
Typ parametru static
Dokumentacja max_replication_slots

max_slot_wal_keep_size

Atrybut Wartość
Kategoria Replikacja/wysyłanie serwerów
opis Ustawia maksymalny rozmiar pliku WAL, który może być zarezerwowany przez miejsca replikacji.
Typ danych integer
Domyślna wartość -1
Dozwolone wartości -1
Typ parametru tylko do odczytu
Dokumentacja max_slot_wal_keep_size

max_wal_senders

Atrybut Wartość
Kategoria Replikacja/wysyłanie serwerów
opis Ustawia maksymalną liczbę jednocześnie uruchomionych procesów nadawcy WAL.
Typ danych integer
Domyślna wartość 10
Dozwolone wartości 5-100
Typ parametru static
Dokumentacja max_wal_senders

Uwagi specyficzne dla platformy Azure

Wartość domyślna parametru max_wal_senders serwera ustawiona podczas aprowizacji wystąpienia serwera elastycznego usługi Azure Database for PostgreSQL nigdy nie może być zmniejszona poniżej 2 (if HA is enabled) + number of read replicas provisioned + slots_used_in_logical_replication.

Biorąc pod uwagę konieczność zwiększenia max_wal_senders do znacznie wyższej wartości, aby móc poradzić sobie z replikacją logiczną znacznej liczby tabel, należy pamiętać o następujących ważnych kwestiach:

  • Logicznie replikowanie dużej liczby tabel nie musi wymagać dużej liczby nadawców WAL.
  • Jedynym powodem, dla którego potrzebujesz oddzielnego nadawcy WAL dla tabeli lub grupy tabel, jest potrzeba oddzielnych subskrypcji dla każdej z tych tabel lub grup.
  • Niezależnie od liczby nadawców WAL, które są używane do replikacji fizycznej i logicznej, wszystkie stają się aktywne jednocześnie, za każdym razem, gdy dowolne zaplecze zapisuje coś w dzienniku z wyprzedzeniem zapisu. W takim przypadku nadawcy WAL przypisani do replikacji logicznej są wznawiani do:
    1. Zdekoduj wszystkie nowe rekordy w pliku WAL,
    2. Odfiltruj rekordy dzienników, których nie interesują,
    3. Replikuj dane, które są odpowiednie dla każdego z nich.
  • Nadawcy WAL są podobni do połączeń w tym sensie, że jeśli są bezczynne, nie ma znaczenia, ile istnieje. Jeśli jednak są aktywne, będą one po prostu konkurować o te same zasoby, a wydajność może skończyć się strasznie źle. Jest to szczególnie istotne w przypadku nadawców z replikacją logiczną, ponieważ dekodowanie logiczne jest raczej kosztowne dla procesora CPU. Każdy proces roboczy musi zdekodować cały plik WAL, nawet jeśli replikuje tylko operacje wpływające na jedną tabelę i reprezentuje niewielki procent wszystkich danych w dzienniku zapisu z wyprzedzeniem. W przypadku replikacji fizycznej nie jest tak ważne, ponieważ nadawcy WAL nie zużywają procesora CPU tak intensywnie i mają tendencję do ograniczenia przepustowości sieci.
  • W związku z tym ogólnie lepiej nie mieć wielu nadawców WAL niż rdzenie wirtualne.
  • Dobrym rozwiązaniem jest dodanie miejsca dla kilku dodatkowych nadawców WAL w celu uwzględnienia przyszłych wzrostów lub tymczasowych skoków połączeń replikacji. Poniższe dwa przykłady mogą pomóc zilustrować go lepiej.
    • W przypadku serwera z 8 rdzeniami wirtualnymi, wyłączoną wysoką dostępnością, 2 replikami do odczytu i 3 miejscami replikacji logicznej można skonfigurować max_wal_senders jako sumę miejsc fizycznych dla wysokiej dostępności (0) + miejsc fizycznych dla replik do odczytu (2) + gniazd logicznych (3) + dodatkowe dla przyszłego wzrostu, biorąc pod uwagę dostępne rdzenie wirtualne (1) = 6.
    • W przypadku serwera z 16 rdzeniami wirtualnymi włączono wysoką dostępność, 4 repliki do odczytu i 5 gniazd replikacji logicznej, możesz skonfigurować max_wal_senders jako sumę miejsc fizycznych dla wysokiej dostępności (2) + miejsc fizycznych dla replik do odczytu (4) + gniazda logiczne (5) + dodatkowe dla przyszłego wzrostu, biorąc pod uwagę dostępne rdzenie wirtualne (2) = 13.
  • Jeśli nadal uważasz, że maksymalna dozwolona wartość dla tego parametru jest zbyt niska dla Twoich potrzeb, skontaktuj się z nami, opisz szczegółowo twój scenariusz i wyjaśnij, co należy wziąć pod uwagę, że byłaby to minimalna akceptowalna wartość, której potrzebujesz, aby scenariusz działał prawidłowo.

track_commit_timestamp

Atrybut Wartość
Kategoria Replikacja/wysyłanie serwerów
opis Zbiera czas zatwierdzenia transakcji.
Typ danych boolean
Domyślna wartość off
Dozwolone wartości on,off
Typ parametru static
Dokumentacja track_commit_timestamp

wal_keep_size

Atrybut Wartość
Kategoria Replikacja/wysyłanie serwerów
opis Ustawia rozmiar plików WAL przechowywanych dla serwerów rezerwowych.
Typ danych integer
Domyślna wartość 400
Dozwolone wartości 400
Typ parametru tylko do odczytu
Dokumentacja wal_keep_size

wal_sender_timeout

Atrybut Wartość
Kategoria Replikacja/wysyłanie serwerów
opis Ustawia maksymalny czas oczekiwania na replikację WAL.
Typ danych integer
Domyślna wartość 60000
Dozwolone wartości 60000
Typ parametru tylko do odczytu
Dokumentacja wal_sender_timeout

max_replication_slots

Atrybut Wartość
Kategoria Replikacja/wysyłanie serwerów
opis Określa maksymalną liczbę miejsc replikacji, które może obsługiwać serwer.
Typ danych integer
Domyślna wartość 10
Dozwolone wartości 2-262143
Typ parametru static
Dokumentacja max_replication_slots

max_slot_wal_keep_size

Atrybut Wartość
Kategoria Replikacja/wysyłanie serwerów
opis Ustawia maksymalny rozmiar pliku WAL, który może być zarezerwowany przez miejsca replikacji.
Typ danych integer
Domyślna wartość -1
Dozwolone wartości -1
Typ parametru tylko do odczytu
Dokumentacja max_slot_wal_keep_size

max_wal_senders

Atrybut Wartość
Kategoria Replikacja/wysyłanie serwerów
opis Ustawia maksymalną liczbę jednocześnie uruchomionych procesów nadawcy WAL.
Typ danych integer
Domyślna wartość 10
Dozwolone wartości 5-100
Typ parametru static
Dokumentacja max_wal_senders

Uwagi specyficzne dla platformy Azure

Wartość domyślna parametru max_wal_senders serwera ustawiona podczas aprowizacji wystąpienia serwera elastycznego usługi Azure Database for PostgreSQL nigdy nie może być zmniejszona poniżej 2 (if HA is enabled) + number of read replicas provisioned + slots_used_in_logical_replication.

Biorąc pod uwagę konieczność zwiększenia max_wal_senders do znacznie wyższej wartości, aby móc poradzić sobie z replikacją logiczną znacznej liczby tabel, należy pamiętać o następujących ważnych kwestiach:

  • Logicznie replikowanie dużej liczby tabel nie musi wymagać dużej liczby nadawców WAL.
  • Jedynym powodem, dla którego potrzebujesz oddzielnego nadawcy WAL dla tabeli lub grupy tabel, jest potrzeba oddzielnych subskrypcji dla każdej z tych tabel lub grup.
  • Niezależnie od liczby nadawców WAL, które są używane do replikacji fizycznej i logicznej, wszystkie stają się aktywne jednocześnie, za każdym razem, gdy dowolne zaplecze zapisuje coś w dzienniku z wyprzedzeniem zapisu. W takim przypadku nadawcy WAL przypisani do replikacji logicznej są wznawiani do:
    1. Zdekoduj wszystkie nowe rekordy w pliku WAL,
    2. Odfiltruj rekordy dzienników, których nie interesują,
    3. Replikuj dane, które są odpowiednie dla każdego z nich.
  • Nadawcy WAL są podobni do połączeń w tym sensie, że jeśli są bezczynne, nie ma znaczenia, ile istnieje. Jeśli jednak są aktywne, będą one po prostu konkurować o te same zasoby, a wydajność może skończyć się strasznie źle. Jest to szczególnie istotne w przypadku nadawców z replikacją logiczną, ponieważ dekodowanie logiczne jest raczej kosztowne dla procesora CPU. Każdy proces roboczy musi zdekodować cały plik WAL, nawet jeśli replikuje tylko operacje wpływające na jedną tabelę i reprezentuje niewielki procent wszystkich danych w dzienniku zapisu z wyprzedzeniem. W przypadku replikacji fizycznej nie jest tak ważne, ponieważ nadawcy WAL nie zużywają procesora CPU tak intensywnie i mają tendencję do ograniczenia przepustowości sieci.
  • W związku z tym ogólnie lepiej nie mieć wielu nadawców WAL niż rdzenie wirtualne.
  • Dobrym rozwiązaniem jest dodanie miejsca dla kilku dodatkowych nadawców WAL w celu uwzględnienia przyszłych wzrostów lub tymczasowych skoków połączeń replikacji. Poniższe dwa przykłady mogą pomóc zilustrować go lepiej.
    • W przypadku serwera z 8 rdzeniami wirtualnymi, wyłączoną wysoką dostępnością, 2 replikami do odczytu i 3 miejscami replikacji logicznej można skonfigurować max_wal_senders jako sumę miejsc fizycznych dla wysokiej dostępności (0) + miejsc fizycznych dla replik do odczytu (2) + gniazd logicznych (3) + dodatkowe dla przyszłego wzrostu, biorąc pod uwagę dostępne rdzenie wirtualne (1) = 6.
    • W przypadku serwera z 16 rdzeniami wirtualnymi włączono wysoką dostępność, 4 repliki do odczytu i 5 gniazd replikacji logicznej, możesz skonfigurować max_wal_senders jako sumę miejsc fizycznych dla wysokiej dostępności (2) + miejsc fizycznych dla replik do odczytu (4) + gniazda logiczne (5) + dodatkowe dla przyszłego wzrostu, biorąc pod uwagę dostępne rdzenie wirtualne (2) = 13.
  • Jeśli nadal uważasz, że maksymalna dozwolona wartość dla tego parametru jest zbyt niska dla Twoich potrzeb, skontaktuj się z nami, opisz szczegółowo twój scenariusz i wyjaśnij, co należy wziąć pod uwagę, że byłaby to minimalna akceptowalna wartość, której potrzebujesz, aby scenariusz działał prawidłowo.

track_commit_timestamp

Atrybut Wartość
Kategoria Replikacja/wysyłanie serwerów
opis Zbiera czas zatwierdzenia transakcji.
Typ danych boolean
Domyślna wartość off
Dozwolone wartości on,off
Typ parametru static
Dokumentacja track_commit_timestamp

wal_keep_size

Atrybut Wartość
Kategoria Replikacja/wysyłanie serwerów
opis Ustawia rozmiar plików WAL przechowywanych dla serwerów rezerwowych.
Typ danych integer
Domyślna wartość 400
Dozwolone wartości 400
Typ parametru tylko do odczytu
Dokumentacja wal_keep_size

wal_sender_timeout

Atrybut Wartość
Kategoria Replikacja/wysyłanie serwerów
opis Ustawia maksymalny czas oczekiwania na replikację WAL.
Typ danych integer
Domyślna wartość 60000
Dozwolone wartości 60000
Typ parametru tylko do odczytu
Dokumentacja wal_sender_timeout

max_replication_slots

Atrybut Wartość
Kategoria Replikacja/wysyłanie serwerów
opis Określa maksymalną liczbę miejsc replikacji, które może obsługiwać serwer.
Typ danych integer
Domyślna wartość 10
Dozwolone wartości 2-262143
Typ parametru static
Dokumentacja max_replication_slots

max_slot_wal_keep_size

Atrybut Wartość
Kategoria Replikacja/wysyłanie serwerów
opis Ustawia maksymalny rozmiar pliku WAL, który może być zarezerwowany przez miejsca replikacji.
Typ danych integer
Domyślna wartość -1
Dozwolone wartości -1
Typ parametru tylko do odczytu
Dokumentacja max_slot_wal_keep_size

max_wal_senders

Atrybut Wartość
Kategoria Replikacja/wysyłanie serwerów
opis Ustawia maksymalną liczbę jednocześnie uruchomionych procesów nadawcy WAL.
Typ danych integer
Domyślna wartość 10
Dozwolone wartości 5-100
Typ parametru static
Dokumentacja max_wal_senders

Uwagi specyficzne dla platformy Azure

Wartość domyślna parametru max_wal_senders serwera ustawiona podczas aprowizacji wystąpienia serwera elastycznego usługi Azure Database for PostgreSQL nigdy nie może być zmniejszona poniżej 2 (if HA is enabled) + number of read replicas provisioned + slots_used_in_logical_replication.

Biorąc pod uwagę konieczność zwiększenia max_wal_senders do znacznie wyższej wartości, aby móc poradzić sobie z replikacją logiczną znacznej liczby tabel, należy pamiętać o następujących ważnych kwestiach:

  • Logicznie replikowanie dużej liczby tabel nie musi wymagać dużej liczby nadawców WAL.
  • Jedynym powodem, dla którego potrzebujesz oddzielnego nadawcy WAL dla tabeli lub grupy tabel, jest potrzeba oddzielnych subskrypcji dla każdej z tych tabel lub grup.
  • Niezależnie od liczby nadawców WAL, które są używane do replikacji fizycznej i logicznej, wszystkie stają się aktywne jednocześnie, za każdym razem, gdy dowolne zaplecze zapisuje coś w dzienniku z wyprzedzeniem zapisu. W takim przypadku nadawcy WAL przypisani do replikacji logicznej są wznawiani do:
    1. Zdekoduj wszystkie nowe rekordy w pliku WAL,
    2. Odfiltruj rekordy dzienników, których nie interesują,
    3. Replikuj dane, które są odpowiednie dla każdego z nich.
  • Nadawcy WAL są podobni do połączeń w tym sensie, że jeśli są bezczynne, nie ma znaczenia, ile istnieje. Jeśli jednak są aktywne, będą one po prostu konkurować o te same zasoby, a wydajność może skończyć się strasznie źle. Jest to szczególnie istotne w przypadku nadawców z replikacją logiczną, ponieważ dekodowanie logiczne jest raczej kosztowne dla procesora CPU. Każdy proces roboczy musi zdekodować cały plik WAL, nawet jeśli replikuje tylko operacje wpływające na jedną tabelę i reprezentuje niewielki procent wszystkich danych w dzienniku zapisu z wyprzedzeniem. W przypadku replikacji fizycznej nie jest tak ważne, ponieważ nadawcy WAL nie zużywają procesora CPU tak intensywnie i mają tendencję do ograniczenia przepustowości sieci.
  • W związku z tym ogólnie lepiej nie mieć wielu nadawców WAL niż rdzenie wirtualne.
  • Dobrym rozwiązaniem jest dodanie miejsca dla kilku dodatkowych nadawców WAL w celu uwzględnienia przyszłych wzrostów lub tymczasowych skoków połączeń replikacji. Poniższe dwa przykłady mogą pomóc zilustrować go lepiej.
    • W przypadku serwera z 8 rdzeniami wirtualnymi, wyłączoną wysoką dostępnością, 2 replikami do odczytu i 3 miejscami replikacji logicznej można skonfigurować max_wal_senders jako sumę miejsc fizycznych dla wysokiej dostępności (0) + miejsc fizycznych dla replik do odczytu (2) + gniazd logicznych (3) + dodatkowe dla przyszłego wzrostu, biorąc pod uwagę dostępne rdzenie wirtualne (1) = 6.
    • W przypadku serwera z 16 rdzeniami wirtualnymi włączono wysoką dostępność, 4 repliki do odczytu i 5 gniazd replikacji logicznej, możesz skonfigurować max_wal_senders jako sumę miejsc fizycznych dla wysokiej dostępności (2) + miejsc fizycznych dla replik do odczytu (4) + gniazda logiczne (5) + dodatkowe dla przyszłego wzrostu, biorąc pod uwagę dostępne rdzenie wirtualne (2) = 13.
  • Jeśli nadal uważasz, że maksymalna dozwolona wartość dla tego parametru jest zbyt niska dla Twoich potrzeb, skontaktuj się z nami, opisz szczegółowo twój scenariusz i wyjaśnij, co należy wziąć pod uwagę, że byłaby to minimalna akceptowalna wartość, której potrzebujesz, aby scenariusz działał prawidłowo.

track_commit_timestamp

Atrybut Wartość
Kategoria Replikacja/wysyłanie serwerów
opis Zbiera czas zatwierdzenia transakcji.
Typ danych boolean
Domyślna wartość off
Dozwolone wartości on,off
Typ parametru static
Dokumentacja track_commit_timestamp

wal_keep_size

Atrybut Wartość
Kategoria Replikacja/wysyłanie serwerów
opis Ustawia rozmiar plików WAL przechowywanych dla serwerów rezerwowych.
Typ danych integer
Domyślna wartość 400
Dozwolone wartości 400
Typ parametru tylko do odczytu
Dokumentacja wal_keep_size

wal_sender_timeout

Atrybut Wartość
Kategoria Replikacja/wysyłanie serwerów
opis Ustawia maksymalny czas oczekiwania na replikację WAL.
Typ danych integer
Domyślna wartość 60000
Dozwolone wartości 60000
Typ parametru tylko do odczytu
Dokumentacja wal_sender_timeout

max_replication_slots

Atrybut Wartość
Kategoria Replikacja/wysyłanie serwerów
opis Określa maksymalną liczbę miejsc replikacji, które może obsługiwać serwer.
Typ danych integer
Domyślna wartość 10
Dozwolone wartości 2-262143
Typ parametru static
Dokumentacja max_replication_slots

max_slot_wal_keep_size

Atrybut Wartość
Kategoria Replikacja/wysyłanie serwerów
opis Ustawia maksymalny rozmiar pliku WAL, który może być zarezerwowany przez miejsca replikacji.
Typ danych integer
Domyślna wartość -1
Dozwolone wartości -1
Typ parametru tylko do odczytu
Dokumentacja max_slot_wal_keep_size

max_wal_senders

Atrybut Wartość
Kategoria Replikacja/wysyłanie serwerów
opis Ustawia maksymalną liczbę jednocześnie uruchomionych procesów nadawcy WAL.
Typ danych integer
Domyślna wartość 10
Dozwolone wartości 5-100
Typ parametru static
Dokumentacja max_wal_senders

Uwagi specyficzne dla platformy Azure

Wartość domyślna parametru max_wal_senders serwera ustawiona podczas aprowizacji wystąpienia serwera elastycznego usługi Azure Database for PostgreSQL nigdy nie może być zmniejszona poniżej 2 (if HA is enabled) + number of read replicas provisioned + slots_used_in_logical_replication.

Biorąc pod uwagę konieczność zwiększenia max_wal_senders do znacznie wyższej wartości, aby móc poradzić sobie z replikacją logiczną znacznej liczby tabel, należy pamiętać o następujących ważnych kwestiach:

  • Logicznie replikowanie dużej liczby tabel nie musi wymagać dużej liczby nadawców WAL.
  • Jedynym powodem, dla którego potrzebujesz oddzielnego nadawcy WAL dla tabeli lub grupy tabel, jest potrzeba oddzielnych subskrypcji dla każdej z tych tabel lub grup.
  • Niezależnie od liczby nadawców WAL, które są używane do replikacji fizycznej i logicznej, wszystkie stają się aktywne jednocześnie, za każdym razem, gdy dowolne zaplecze zapisuje coś w dzienniku z wyprzedzeniem zapisu. W takim przypadku nadawcy WAL przypisani do replikacji logicznej są wznawiani do:
    1. Zdekoduj wszystkie nowe rekordy w pliku WAL,
    2. Odfiltruj rekordy dzienników, których nie interesują,
    3. Replikuj dane, które są odpowiednie dla każdego z nich.
  • Nadawcy WAL są podobni do połączeń w tym sensie, że jeśli są bezczynne, nie ma znaczenia, ile istnieje. Jeśli jednak są aktywne, będą one po prostu konkurować o te same zasoby, a wydajność może skończyć się strasznie źle. Jest to szczególnie istotne w przypadku nadawców z replikacją logiczną, ponieważ dekodowanie logiczne jest raczej kosztowne dla procesora CPU. Każdy proces roboczy musi zdekodować cały plik WAL, nawet jeśli replikuje tylko operacje wpływające na jedną tabelę i reprezentuje niewielki procent wszystkich danych w dzienniku zapisu z wyprzedzeniem. W przypadku replikacji fizycznej nie jest tak ważne, ponieważ nadawcy WAL nie zużywają procesora CPU tak intensywnie i mają tendencję do ograniczenia przepustowości sieci.
  • W związku z tym ogólnie lepiej nie mieć wielu nadawców WAL niż rdzenie wirtualne.
  • Dobrym rozwiązaniem jest dodanie miejsca dla kilku dodatkowych nadawców WAL w celu uwzględnienia przyszłych wzrostów lub tymczasowych skoków połączeń replikacji. Poniższe dwa przykłady mogą pomóc zilustrować go lepiej.
    • W przypadku serwera z 8 rdzeniami wirtualnymi, wyłączoną wysoką dostępnością, 2 replikami do odczytu i 3 miejscami replikacji logicznej można skonfigurować max_wal_senders jako sumę miejsc fizycznych dla wysokiej dostępności (0) + miejsc fizycznych dla replik do odczytu (2) + gniazd logicznych (3) + dodatkowe dla przyszłego wzrostu, biorąc pod uwagę dostępne rdzenie wirtualne (1) = 6.
    • W przypadku serwera z 16 rdzeniami wirtualnymi włączono wysoką dostępność, 4 repliki do odczytu i 5 gniazd replikacji logicznej, możesz skonfigurować max_wal_senders jako sumę miejsc fizycznych dla wysokiej dostępności (2) + miejsc fizycznych dla replik do odczytu (4) + gniazda logiczne (5) + dodatkowe dla przyszłego wzrostu, biorąc pod uwagę dostępne rdzenie wirtualne (2) = 13.
  • Jeśli nadal uważasz, że maksymalna dozwolona wartość dla tego parametru jest zbyt niska dla Twoich potrzeb, skontaktuj się z nami, opisz szczegółowo twój scenariusz i wyjaśnij, co należy wziąć pod uwagę, że byłaby to minimalna akceptowalna wartość, której potrzebujesz, aby scenariusz działał prawidłowo.

track_commit_timestamp

Atrybut Wartość
Kategoria Replikacja/wysyłanie serwerów
opis Zbiera czas zatwierdzenia transakcji.
Typ danych boolean
Domyślna wartość off
Dozwolone wartości on,off
Typ parametru static
Dokumentacja track_commit_timestamp

wal_keep_size

Atrybut Wartość
Kategoria Replikacja/wysyłanie serwerów
opis Ustawia rozmiar plików WAL przechowywanych dla serwerów rezerwowych.
Typ danych integer
Domyślna wartość 400
Dozwolone wartości 400
Typ parametru tylko do odczytu
Dokumentacja wal_keep_size

wal_sender_timeout

Atrybut Wartość
Kategoria Replikacja/wysyłanie serwerów
opis Ustawia maksymalny czas oczekiwania na replikację WAL.
Typ danych integer
Domyślna wartość 60000
Dozwolone wartości 60000
Typ parametru tylko do odczytu
Dokumentacja wal_sender_timeout

max_replication_slots

Atrybut Wartość
Kategoria Replikacja/wysyłanie serwerów
opis Określa maksymalną liczbę miejsc replikacji, które może obsługiwać serwer.
Typ danych integer
Domyślna wartość 10
Dozwolone wartości 2-262143
Typ parametru static
Dokumentacja max_replication_slots

max_wal_senders

Atrybut Wartość
Kategoria Replikacja/wysyłanie serwerów
opis Ustawia maksymalną liczbę jednocześnie uruchomionych procesów nadawcy WAL.
Typ danych integer
Domyślna wartość 10
Dozwolone wartości 5-100
Typ parametru static
Dokumentacja max_wal_senders

Uwagi specyficzne dla platformy Azure

Wartość domyślna parametru max_wal_senders serwera ustawiona podczas aprowizacji wystąpienia serwera elastycznego usługi Azure Database for PostgreSQL nigdy nie może być zmniejszona poniżej 2 (if HA is enabled) + number of read replicas provisioned + slots_used_in_logical_replication.

Biorąc pod uwagę konieczność zwiększenia max_wal_senders do znacznie wyższej wartości, aby móc poradzić sobie z replikacją logiczną znacznej liczby tabel, należy pamiętać o następujących ważnych kwestiach:

  • Logicznie replikowanie dużej liczby tabel nie musi wymagać dużej liczby nadawców WAL.
  • Jedynym powodem, dla którego potrzebujesz oddzielnego nadawcy WAL dla tabeli lub grupy tabel, jest potrzeba oddzielnych subskrypcji dla każdej z tych tabel lub grup.
  • Niezależnie od liczby nadawców WAL, które są używane do replikacji fizycznej i logicznej, wszystkie stają się aktywne jednocześnie, za każdym razem, gdy dowolne zaplecze zapisuje coś w dzienniku z wyprzedzeniem zapisu. W takim przypadku nadawcy WAL przypisani do replikacji logicznej są wznawiani do:
    1. Zdekoduj wszystkie nowe rekordy w pliku WAL,
    2. Odfiltruj rekordy dzienników, których nie interesują,
    3. Replikuj dane, które są odpowiednie dla każdego z nich.
  • Nadawcy WAL są podobni do połączeń w tym sensie, że jeśli są bezczynne, nie ma znaczenia, ile istnieje. Jeśli jednak są aktywne, będą one po prostu konkurować o te same zasoby, a wydajność może skończyć się strasznie źle. Jest to szczególnie istotne w przypadku nadawców z replikacją logiczną, ponieważ dekodowanie logiczne jest raczej kosztowne dla procesora CPU. Każdy proces roboczy musi zdekodować cały plik WAL, nawet jeśli replikuje tylko operacje wpływające na jedną tabelę i reprezentuje niewielki procent wszystkich danych w dzienniku zapisu z wyprzedzeniem. W przypadku replikacji fizycznej nie jest tak ważne, ponieważ nadawcy WAL nie zużywają procesora CPU tak intensywnie i mają tendencję do ograniczenia przepustowości sieci.
  • W związku z tym ogólnie lepiej nie mieć wielu nadawców WAL niż rdzenie wirtualne.
  • Dobrym rozwiązaniem jest dodanie miejsca dla kilku dodatkowych nadawców WAL w celu uwzględnienia przyszłych wzrostów lub tymczasowych skoków połączeń replikacji. Poniższe dwa przykłady mogą pomóc zilustrować go lepiej.
    • W przypadku serwera z 8 rdzeniami wirtualnymi, wyłączoną wysoką dostępnością, 2 replikami do odczytu i 3 miejscami replikacji logicznej można skonfigurować max_wal_senders jako sumę miejsc fizycznych dla wysokiej dostępności (0) + miejsc fizycznych dla replik do odczytu (2) + gniazd logicznych (3) + dodatkowe dla przyszłego wzrostu, biorąc pod uwagę dostępne rdzenie wirtualne (1) = 6.
    • W przypadku serwera z 16 rdzeniami wirtualnymi włączono wysoką dostępność, 4 repliki do odczytu i 5 gniazd replikacji logicznej, możesz skonfigurować max_wal_senders jako sumę miejsc fizycznych dla wysokiej dostępności (2) + miejsc fizycznych dla replik do odczytu (4) + gniazda logiczne (5) + dodatkowe dla przyszłego wzrostu, biorąc pod uwagę dostępne rdzenie wirtualne (2) = 13.
  • Jeśli nadal uważasz, że maksymalna dozwolona wartość dla tego parametru jest zbyt niska dla Twoich potrzeb, skontaktuj się z nami, opisz szczegółowo twój scenariusz i wyjaśnij, co należy wziąć pod uwagę, że byłaby to minimalna akceptowalna wartość, której potrzebujesz, aby scenariusz działał prawidłowo.

track_commit_timestamp

Atrybut Wartość
Kategoria Replikacja/wysyłanie serwerów
opis Zbiera czas zatwierdzenia transakcji.
Typ danych boolean
Domyślna wartość off
Dozwolone wartości on,off
Typ parametru static
Dokumentacja track_commit_timestamp

wal_keep_segments

Atrybut Wartość
Kategoria Replikacja/wysyłanie serwerów
opis Ustawia liczbę plików WAL przechowywanych dla serwerów rezerwowych.
Typ danych integer
Domyślna wartość 25
Dozwolone wartości 25
Typ parametru tylko do odczytu
Dokumentacja

wal_sender_timeout

Atrybut Wartość
Kategoria Replikacja/wysyłanie serwerów
opis Ustawia maksymalny czas oczekiwania na replikację WAL.
Typ danych integer
Domyślna wartość 60000
Dozwolone wartości 60000
Typ parametru tylko do odczytu
Dokumentacja wal_sender_timeout

max_replication_slots

Atrybut Wartość
Kategoria Replikacja/wysyłanie serwerów
opis Określa maksymalną liczbę miejsc replikacji, które może obsługiwać serwer.
Typ danych integer
Domyślna wartość 10
Dozwolone wartości 2-262143
Typ parametru static
Dokumentacja max_replication_slots

max_wal_senders

Atrybut Wartość
Kategoria Replikacja/wysyłanie serwerów
opis Ustawia maksymalną liczbę jednocześnie uruchomionych procesów nadawcy WAL.
Typ danych integer
Domyślna wartość 10
Dozwolone wartości 5-100
Typ parametru static
Dokumentacja max_wal_senders

Uwagi specyficzne dla platformy Azure

Wartość domyślna parametru max_wal_senders serwera ustawiona podczas aprowizacji wystąpienia serwera elastycznego usługi Azure Database for PostgreSQL nigdy nie może być zmniejszona poniżej 2 (if HA is enabled) + number of read replicas provisioned + slots_used_in_logical_replication.

Biorąc pod uwagę konieczność zwiększenia max_wal_senders do znacznie wyższej wartości, aby móc poradzić sobie z replikacją logiczną znacznej liczby tabel, należy pamiętać o następujących ważnych kwestiach:

  • Logicznie replikowanie dużej liczby tabel nie musi wymagać dużej liczby nadawców WAL.
  • Jedynym powodem, dla którego potrzebujesz oddzielnego nadawcy WAL dla tabeli lub grupy tabel, jest potrzeba oddzielnych subskrypcji dla każdej z tych tabel lub grup.
  • Niezależnie od liczby nadawców WAL, które są używane do replikacji fizycznej i logicznej, wszystkie stają się aktywne jednocześnie, za każdym razem, gdy dowolne zaplecze zapisuje coś w dzienniku z wyprzedzeniem zapisu. W takim przypadku nadawcy WAL przypisani do replikacji logicznej są wznawiani do:
    1. Zdekoduj wszystkie nowe rekordy w pliku WAL,
    2. Odfiltruj rekordy dzienników, których nie interesują,
    3. Replikuj dane, które są odpowiednie dla każdego z nich.
  • Nadawcy WAL są podobni do połączeń w tym sensie, że jeśli są bezczynne, nie ma znaczenia, ile istnieje. Jeśli jednak są aktywne, będą one po prostu konkurować o te same zasoby, a wydajność może skończyć się strasznie źle. Jest to szczególnie istotne w przypadku nadawców z replikacją logiczną, ponieważ dekodowanie logiczne jest raczej kosztowne dla procesora CPU. Każdy proces roboczy musi zdekodować cały plik WAL, nawet jeśli replikuje tylko operacje wpływające na jedną tabelę i reprezentuje niewielki procent wszystkich danych w dzienniku zapisu z wyprzedzeniem. W przypadku replikacji fizycznej nie jest tak ważne, ponieważ nadawcy WAL nie zużywają procesora CPU tak intensywnie i mają tendencję do ograniczenia przepustowości sieci.
  • W związku z tym ogólnie lepiej nie mieć wielu nadawców WAL niż rdzenie wirtualne.
  • Dobrym rozwiązaniem jest dodanie miejsca dla kilku dodatkowych nadawców WAL w celu uwzględnienia przyszłych wzrostów lub tymczasowych skoków połączeń replikacji. Poniższe dwa przykłady mogą pomóc zilustrować go lepiej.
    • W przypadku serwera z 8 rdzeniami wirtualnymi, wyłączoną wysoką dostępnością, 2 replikami do odczytu i 3 miejscami replikacji logicznej można skonfigurować max_wal_senders jako sumę miejsc fizycznych dla wysokiej dostępności (0) + miejsc fizycznych dla replik do odczytu (2) + gniazd logicznych (3) + dodatkowe dla przyszłego wzrostu, biorąc pod uwagę dostępne rdzenie wirtualne (1) = 6.
    • W przypadku serwera z 16 rdzeniami wirtualnymi włączono wysoką dostępność, 4 repliki do odczytu i 5 gniazd replikacji logicznej, możesz skonfigurować max_wal_senders jako sumę miejsc fizycznych dla wysokiej dostępności (2) + miejsc fizycznych dla replik do odczytu (4) + gniazda logiczne (5) + dodatkowe dla przyszłego wzrostu, biorąc pod uwagę dostępne rdzenie wirtualne (2) = 13.
  • Jeśli nadal uważasz, że maksymalna dozwolona wartość dla tego parametru jest zbyt niska dla Twoich potrzeb, skontaktuj się z nami, opisz szczegółowo twój scenariusz i wyjaśnij, co należy wziąć pod uwagę, że byłaby to minimalna akceptowalna wartość, której potrzebujesz, aby scenariusz działał prawidłowo.

track_commit_timestamp

Atrybut Wartość
Kategoria Replikacja/wysyłanie serwerów
opis Zbiera czas zatwierdzenia transakcji.
Typ danych boolean
Domyślna wartość off
Dozwolone wartości on,off
Typ parametru static
Dokumentacja track_commit_timestamp

wal_keep_segments

Atrybut Wartość
Kategoria Replikacja/wysyłanie serwerów
opis Ustawia liczbę plików WAL przechowywanych dla serwerów rezerwowych.
Typ danych integer
Domyślna wartość 25
Dozwolone wartości 25
Typ parametru tylko do odczytu
Dokumentacja

wal_sender_timeout

Atrybut Wartość
Kategoria Replikacja/wysyłanie serwerów
opis Ustawia maksymalny czas oczekiwania na replikację WAL.
Typ danych integer
Domyślna wartość 60000
Dozwolone wartości 60000
Typ parametru tylko do odczytu
Dokumentacja wal_sender_timeout