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
- Zainstaluj interfejs wiersza polecenia platformy Azure 2.0
- Serwer usługi Azure Database for PostgreSQL, który ma być serwerem podstawowym.
Przygotowywanie serwera podstawowego
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
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
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_support
REPLICA 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
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
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" } }
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_support
REPLICA 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
- Dowiedz się więcej o replikach do odczytu w usłudze Azure Database for PostgreSQL.
- Dowiedz się, jak tworzyć repliki do odczytu i zarządzać nimi w witrynie Azure Portal.