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.