Amazon RDS - funkcje PostgreSQL
PostgreSQL to potężny, obiektowo-relacyjny system bazy danych o otwartym kodzie źródłowym, który zyskał dobrą reputację dzięki niezawodności, niezawodności funkcji i wydajności. AWS RDS obsługuje różne wersje PostgreSQL. Obsługuje przywracanie do określonego punktu w czasie i tworzenie kopii zapasowych, tworzenie migawek bazy danych i uruchamianie ich w środowisku z wieloma AZ.
Wersje od 9.3 do 10.4 to główne wersje obsługiwane na platformie RDS. Jeśli podczas tworzenia bazy danych nie jest wymieniona żadna wersja, domyślnie jest to najnowsza wersja w danym momencie. Poniżej znajduje się przykład, jak uzyskać wszystkie obsługiwane wersje silnika DB przy użyciu interfejsu API AWS w programie Python SDK.
import boto3
client = boto3.client('rds')
response = client.describe_db_engine_versions(
DBParameterGroupFamily='',
DefaultOnly=True,
Engine='postgres',
EngineVersion='',
ListSupportedCharacterSets=False, #True,
)
print(response)
Po uruchomieniu powyższego programu otrzymujemy następujące dane wyjściowe -
{
"ResponseMetadata": {
"RetryAttempts": 0,
"HTTPStatusCode": 200,
"RequestId": "c85cd49f-2c16-44b4-9890-cb233651f962",
"HTTPHeaders": {
"x-amzn-requestid": "c85cd49f-2c16-44b4-9890-cb233651f962",
"date": "Fri, 14 Sep 2018 07:31:34 GMT",
"content-length": "995",
"content-type": "text/xml"
}
},
"u'DBEngineVersions'": [
{
"u'Engine'": "postgres",
"u'DBParameterGroupFamily'": "postgres10",
"u'SupportsLogExportsToCloudwatchLogs'": false,
"u'SupportsReadReplica'": true,
"u'DBEngineDescription'": "PostgreSQL",
"u'EngineVersion'": "10.4",
"u'DBEngineVersionDescription'": "PostgreSQL 10.4-R1",
"u'ValidUpgradeTarget'": []
}
]
}
Społeczność PostgreSQL stale wydaje nowe wersje i nowe rozszerzenia. Możesz wypróbować nowe wersje i rozszerzenia PostgreSQL, zanim zostaną w pełni obsługiwane przez Aws RDS. Aby to zrobić, możesz utworzyć nową instancję bazy danych w środowisku podglądu bazy danych.
Instancje bazy danych w środowisku podglądu bazy danych są podobne do instancji bazy danych w środowisku produkcyjnym. Pamiętaj jednak o kilku ważnych czynnikach:
Wszystkie instancje DB są usuwane 60 dni po ich utworzeniu, wraz z wszelkimi kopiami zapasowymi i migawkami.
Instancję bazy danych można utworzyć tylko w wirtualnej chmurze prywatnej (VPC) opartej na usłudze Amazon VPC.
Można tworzyć tylko instancje typu M4, T2 i R4. Aby uzyskać więcej informacji na temat klas instancji RDS,
Nie możesz uzyskać pomocy od wsparcia AWS z instancjami DB. Możesz zadawać pytania na forum środowiska podglądu bazy danych RDS.
Możesz używać tylko magazynu SSD ogólnego przeznaczenia i Provisioned IOPS SSD.
Nie można skopiować migawki instancji bazy danych do środowiska produkcyjnego.
Niektóre funkcje Amazon RDS nie są dostępne w środowisku podglądu, jak opisano poniżej.
Replikacja logiczna to metoda replikacji obiektów danych i ich zmian w oparciu o ich tożsamość replikacji (zwykle jest to klucz podstawowy). Replikacja logiczna korzysta z modelu publikowania i subskrybowania, w którym co najmniej jeden subskrybent subskrybuje jedną lub więcej publikacji w węźle wydawcy. Subskrybenci pobierają dane z publikacji, które subskrybują, a następnie mogą ponownie je publikować, aby umożliwić replikację kaskadową lub bardziej złożone konfiguracje. Służy do poniższych działań.
Wysyłanie przyrostowych zmian w pojedynczej bazie danych lub podzbiorze bazy danych do subskrybentów w momencie ich wystąpienia.
Konsolidacja wielu baz danych w jedną (na przykład do celów analitycznych).
Replikowanie między różnymi głównymi wersjami PostgreSQL.
Replikacja między instancjami PostgreSQL na różnych platformach (na przykład Linux na Windows)
Zapewnienie dostępu do replikowanych danych różnym grupom użytkowników.
Udostępnianie podzbioru bazy danych między wieloma bazami danych.
Aby włączyć logiczną replikację dla wystąpienia bazy danych Amazon RDS dla PostgreSQL
Konto użytkownika AWS wymaga roli rds_superuser do wykonywania logicznej replikacji bazy danych PostgreSQL na Amazon RDS.
Ustaw parametr rds.logical_replication na 1.
Zmodyfikuj reguły ruchu przychodzącego grupy zabezpieczeń dla wystąpienia wydawcy (produkcyjnego), aby umożliwić połączenie wystąpienia subskrybenta (repliki). Odbywa się to zwykle poprzez dołączenie adresu IP abonenta do grupy bezpieczeństwa.