Tworzenie replik do odczytu i zarządzanie nimi za pomocą interfejsu wiersza polecenia platformy Azure, interfejsu API REST

DOTYCZY: Azure Database for PostgreSQL — pojedynczy serwer

Ważne

Usługa Azure Database for PostgreSQL — pojedynczy serwer znajduje się na ścieżce wycofania. Zdecydowanie zalecamy uaktualnienie do usługi Azure Database for PostgreSQL — serwer elastyczny. Aby uzyskać więcej informacji na temat migracji do usługi Azure Database for PostgreSQL — serwer elastyczny, zobacz Co się dzieje z usługą Azure Database for PostgreSQL — pojedynczy serwer?.

Z tego artykułu dowiesz się, jak tworzyć repliki do odczytu i zarządzać nimi w usłudze Azure Database for PostgreSQL przy użyciu interfejsu wiersza polecenia platformy Azure i interfejsu API REST. Aby dowiedzieć się więcej na temat replik do odczytu, zobacz omówienie.

Obsługa replikacji platformy Azure

Repliki do odczytu i dekodowanie logiczne zależą od dziennika z wyprzedzeniem zapisu Postgres (WAL) w celu uzyskania informacji. Te dwie funkcje wymagają różnych poziomów rejestrowania z bazy danych Postgres. Dekodowanie logiczne wymaga wyższego poziomu rejestrowania niż repliki do odczytu.

Aby skonfigurować odpowiedni poziom rejestrowania, użyj parametru obsługi replikacji platformy Azure. Obsługa replikacji platformy Azure ma trzy opcje ustawień:

  • Wyłączone — umieszcza najmniej informacji w pliku WAL. To ustawienie nie jest dostępne na większości serwerów usługi Azure Database for PostgreSQL.
  • Replika — więcej informacji niż wyłączone. Jest to minimalny poziom rejestrowania potrzebny do pracy replik do odczytu. To ustawienie jest ustawieniem domyślnym dla większości serwerów.
  • Logiczne — bardziej pełne niż replika. Jest to minimalny poziom rejestrowania dla dekodowania logicznego do pracy. Repliki do odczytu działają również w tym ustawieniu.

Uwaga

Podczas wdrażania replik do odczytu dla trwałych obciążeń podstawowych intensywnie korzystających z zapisu opóźnienie replikacji może nadal rosnąć i nigdy nie może nadrobić zaległości w podstawowej wersji. Może to również zwiększyć użycie magazynu na serwerze podstawowym, ponieważ pliki WAL nie są usuwane, dopóki nie zostaną odebrane na replice.

Interfejs wiersza polecenia platformy Azure

Repliki do odczytu można tworzyć i zarządzać nimi przy użyciu interfejsu wiersza polecenia platformy Azure.

Wymagania wstępne

Przygotowywanie serwera podstawowego

  1. Sprawdź wartość serwera podstawowego azure.replication_support . Repliki do odczytu powinny działać co najmniej repliki do odczytu.

    az postgres server configuration show --resource-group myresourcegroup --server-name mydemoserver --name azure.replication_support
    
  2. Jeśli azure.replication_support nie jest co najmniej REPLIKA, ustaw ją.

    az postgres server configuration set --resource-group myresourcegroup --server-name mydemoserver --name azure.replication_support --value REPLICA
    
  3. Uruchom ponownie serwer, aby zastosować zmianę.

    az postgres server restart --name mydemoserver --resource-group myresourcegroup
    

Tworzenie repliki do odczytu

Polecenie az postgres server replica create wymaga następujących parametrów:

Ustawienie Przykładowa wartość opis
resource-group myresourcegroup Grupa zasobów, w której zostanie utworzony serwer repliki.
name mydemoserver-replica Nazwa nowego serwera repliki, który jest tworzony.
source-server mydemoserver Nazwa lub identyfikator zasobu istniejącego serwera podstawowego do replikacji. Użyj identyfikatora zasobu, jeśli chcesz, aby grupy zasobów repliki i podstawowego było inne.

W poniższym przykładzie interfejsu wiersza polecenia replika jest tworzona w tym samym regionie co podstawowy.

az postgres server replica create --name mydemoserver-replica --source-server mydemoserver --resource-group myresourcegroup

Aby utworzyć replikę do odczytu między regionami, użyj parametru --location . Poniższy przykład interfejsu wiersza polecenia tworzy replikę w regionie Zachodnie stany USA.

az postgres server replica create --name mydemoserver-replica --source-server mydemoserver --resource-group myresourcegroup --location westus

Uwaga

Aby dowiedzieć się więcej na temat regionów, w których można utworzyć replikę, zapoznaj się z artykułem pojęcia dotyczące repliki do odczytu.

Jeśli nie ustawiono parametru azure.replication_supportREPLICA na serwerze podstawowym ogólnego przeznaczenia lub zoptymalizowanym pod kątem pamięci i ponownym uruchomieniu serwera, zostanie wyświetlony błąd. Przed utworzeniem repliki wykonaj te dwa kroki.

Ważne

Zapoznaj się z sekcją dotyczącą zagadnień w przeglądzie repliki do odczytu.

Zanim ustawienie serwera podstawowego zostanie zaktualizowane do nowej wartości, zaktualizuj ustawienie repliki do równej lub większej wartości. Ta akcja pomaga repliki nadążyć za wszelkimi zmianami wprowadzonych w obiekcie podstawowym.

Lista replik

Listę replik serwera podstawowego można wyświetlić za pomocą polecenia az postgres server replica list .

az postgres server replica list --server-name mydemoserver --resource-group myresourcegroup 

Zatrzymywanie replikacji na serwerze repliki

Replikację między serwerem podstawowym i repliką do odczytu można zatrzymać za pomocą polecenia az postgres server replica stop .

Po zatrzymaniu replikacji na serwerze podstawowym i repliki do odczytu nie można jej cofnąć. Replika do odczytu staje się autonomicznym serwerem obsługującym odczyty i zapisy. Nie można ponownie utworzyć autonomicznego serwera w repliki.

az postgres server replica stop --name mydemoserver-replica --resource-group myresourcegroup 

Usuwanie serwera podstawowego lub repliki

Aby usunąć serwer podstawowy lub replikę, należy użyć polecenia az postgres server delete .

Po usunięciu serwera podstawowego replikacja do wszystkich replik do odczytu zostanie zatrzymana. Repliki do odczytu stają się serwerami autonomicznymi, które obsługują teraz zarówno operacje odczytu, jak i zapisu.

az postgres server delete --name myserver --resource-group myresourcegroup

Interfejs API REST

Repliki do odczytu można tworzyć i zarządzać nimi przy użyciu interfejsu API REST platformy Azure.

Przygotowywanie serwera podstawowego

  1. Sprawdź wartość serwera podstawowego azure.replication_support . Repliki do odczytu powinny działać co najmniej repliki do odczytu.

    GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{masterServerName}/configurations/azure.replication_support?api-version=2017-12-01
    
  2. Jeśli azure.replication_support nie jest co najmniej REPLIKA, ustaw ją.

    PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{masterServerName}/configurations/azure.replication_support?api-version=2017-12-01
    
    {
     "properties": {
     "value": "replica"
     }
    }
    
  3. Uruchom ponownie serwer , aby zastosować zmianę.

    POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{masterServerName}/restart?api-version=2017-12-01
    

Tworzenie repliki do odczytu

Replikę do odczytu można utworzyć przy użyciu interfejsu API tworzenia:

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{replicaName}?api-version=2017-12-01
{
  "location": "southeastasia",
  "properties": {
    "createMode": "Replica",
    "sourceServerId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{masterServerName}"
  }
}

Uwaga

Aby dowiedzieć się więcej na temat regionów, w których można utworzyć replikę, zapoznaj się z artykułem pojęcia dotyczące repliki do odczytu.

Jeśli nie ustawiono parametru azure.replication_supportREPLICA na serwerze podstawowym ogólnego przeznaczenia lub zoptymalizowanym pod kątem pamięci i ponownym uruchomieniu serwera, zostanie wyświetlony błąd. Przed utworzeniem repliki wykonaj te dwa kroki.

Replika jest tworzona przy użyciu tych samych ustawień obliczeniowych i magazynu co podstawowa. Po utworzeniu repliki można zmienić kilka ustawień niezależnie od serwera podstawowego: generowanie mocy obliczeniowej, rdzenie wirtualne, magazyn i okres przechowywania kopii zapasowych. Warstwę cenową można również zmienić niezależnie, z wyjątkiem warstwy Podstawowa lub z warstwy Podstawowa.

Ważne

Zanim ustawienie serwera podstawowego zostanie zaktualizowane do nowej wartości, zaktualizuj ustawienie repliki do równej lub większej wartości. Ta akcja pomaga repliki nadążyć za wszelkimi zmianami wprowadzonych w obiekcie podstawowym.

Lista replik

Listę replik serwera podstawowego można wyświetlić przy użyciu interfejsu API listy replik:

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{masterServerName}/Replicas?api-version=2017-12-01

Zatrzymywanie replikacji na serwerze repliki

Replikację między serwerem podstawowym i repliką do odczytu można zatrzymać przy użyciu interfejsu API aktualizacji.

Po zatrzymaniu replikacji na serwerze podstawowym i repliki do odczytu nie można jej cofnąć. Replika do odczytu staje się autonomicznym serwerem obsługującym odczyty i zapisy. Nie można ponownie utworzyć autonomicznego serwera w repliki.

PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{replicaServerName}?api-version=2017-12-01
{
  "properties": {
    "replicationRole":"None"  
   }
}

Usuwanie serwera podstawowego lub repliki

Aby usunąć serwer podstawowy lub replikę, należy użyć interfejsu API usuwania:

Po usunięciu serwera podstawowego replikacja do wszystkich replik do odczytu zostanie zatrzymana. Repliki do odczytu stają się serwerami autonomicznymi, które obsługują teraz zarówno operacje odczytu, jak i zapisu.

DELETE https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}?api-version=2017-12-01

Następne kroki