Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Azure Database for PostgreSQL to usługa zarządzana, której można używać do uruchamiania baz danych PostgreSQL o wysokiej dostępności i zarządzania nimi w chmurze.
W tym przewodniku Szybki start pokazano, jak utworzyć wystąpienie serwera elastycznego usługi Azure Database for PostgreSQL przy użyciu witryny Azure Portal, interfejsu wiersza polecenia platformy Azure lub szablonów usługi Azure Resource Manager (ARM).
Wymagania wstępne
Przed rozpoczęciem upewnij się, że masz następujące elementy:
- Subskrypcja platformy Azure. Jeśli go nie masz, utwórz bezpłatne konto platformy Azure.
- Odpowiednie uprawnienia do tworzenia zasobów w ramach subskrypcji.
Zrozum, co tworzysz
Instancja serwera elastycznego usługi Azure Database for PostgreSQL obejmuje:
- Skonfigurowany zestaw zasobów obliczeniowych i zasobów pamięci masowej.
- Wdrażanie w grupie zasobów platformy Azure.
- Baza danych utworzona
postgresdomyślnie. - Baza
azure_maintenancedanych dla procesów usługi zarządzanej. - Baza
azure_sysdanych do przechowywania zapytań oraz dostrajania funkcji indeksu.
Uwaga / Notatka
Połączenia zwykle używają portu 5432 lub portu 6432, jeśli łączy się za pośrednictwem wbudowanego modułu puli połączeń PgBouncer .
Tworzenie serwera przy użyciu witryny Azure Portal
Przejdź do kreatora konfiguracji
- Zaloguj się do witryny Azure Portal.
- Wybierz pozycję Utwórz zasób w lewym górnym rogu.
- W obszarze Kategorie wybierz pozycję Bazy danych.
- Znajdź i wybierz serwer elastyczny usługi Azure Database for PostgreSQL.
- Wybierz Utwórz.
Konfigurowanie ustawień podstawowych
Szczegóły projektu
| Setting | Sugerowana wartość | Notatki |
|---|---|---|
| Subscription | Twoja subskrypcja | Wybieranie miejsca, w którym ma być rozliczany zasób |
| Grupa zasobów | myresourcegroup | Utwórz nową lub wybierz istniejącą |
Szczegóły serwera
| Setting | Sugerowana wartość | Description |
|---|---|---|
| Nazwa serwera | mydemoserver-pgsql | Musi ona być unikatowa w skali globalnej. Domena .postgres.database.azure.com jest dodawana automatycznie |
| Region | Region najbliżej Ciebie | Rozważ zgodność, miejsce przechowywania danych, ceny i bliskość użytkowników |
| Wersja bazy danych PostgreSQL | Najnowsza dostępna | Obecnie obsługiwane: 18, 17, 16, 15, 14, 13, 12, 11 |
| Typ obciążenia | Rozwój | Rozwój wykorzystuje jednostki SKU z możliwością wzrostu. Środowisko produkcyjne używa konfiguracji General Purpose lub Memory Optimized. |
| Strefa dostępności | Brak preferencji | Przydatne do umieszczenia razem z aplikacją |
Wysoka dostępność
| Option | SLA | Description |
|---|---|---|
| Disabled | 99,9% | Pojedynczy serwer bez wstrzymania |
| Ta sama strefa | 99.95% | Wstrzymanie w tej samej strefie dostępności |
| Strefowo nadmiarowy | 99,99% | Wstrzymanie w innej strefie dostępności |
Authentication
| Setting | Description | Zalecane |
|---|---|---|
| Metoda uwierzytelniania | Jak użytkownicy uwierzytelniają się |
-
Tylko uwierzytelnianie PostgreSQL (na potrzeby przewodnika 'Szybki start') - Uwierzytelnianie firmy Microsoft Entra (dla środowiska produkcyjnego) - Oba (w celu zapewnienia elastyczności) |
| Nazwa użytkownika administratora | adminuser | - Musi mieć od 1 do 63 znaków - Tylko cyfry i litery - Nie można rozpocząć od pg_- Nie można używać nazw zarezerwowanych przez system |
| Hasło | Złożone hasło | 8–128 znaków z wielkimi literami, małymi literami, cyframi i znakami specjalnymi |
Konfigurowanie zasobów obliczeniowych i magazynu
Wybierz pozycję Konfiguruj serwer , aby dostosować:
Warstwa obliczeniowa
| Warstwa | Przypadek użycia | Description |
|---|---|---|
| Możliwość serii | Rozwój | W przypadku obciążeń, które nie wymagają ciągłego pełnego wykorzystania CPU |
| Ogólne przeznaczenie | Produkcja | Najczęstsze obciążenia produkcyjne |
| Zoptymalizowane pod kątem pamięci | Obciążenia o dużej ilości pamięci | Obciążenia wymagające dużego stosunku pamięci do procesora |
Ustawienia pamięci
| Setting | Może zmienić się później | Description |
|---|---|---|
| Typ magazynu | ❌ Nie | SSD Premium lub SSD Premium v2 |
| Rozmiar magazynu | ✅ Tak (zwiększ tylko) | Nie można zmniejszyć po utworzeniu |
| Poziom wydajności | ✅ Tak | Steruje operacjami we/wy na sekundę i przepływnością |
| Automatyczny przyrost pamięci masowej | ✅ Tak | Autoekspansja przy zbliżeniu się do limitów |
Ustawienia kopii zapasowej
| Setting | Może zmienić się później | Description |
|---|---|---|
| Przechowywanie kopii zapasowych | ✅ Tak | 7–35 dni |
| Redundancja kopii zapasowych | ❌ Nie | Lokalnie nadmiarowy, strefowo nadmiarowy lub geograficznie nadmiarowy |
| Nadmiarowość geograficzna | ❌ Nie | Dostępne tylko w sparowanych regionach platformy Azure |
Konfigurowanie sieci
Wybierz metodę łączności (nie można jej zmienić po utworzeniu):
Dostęp publiczny (dozwolone adresy IP)
Nawiąż połączenie przez publiczny punkt końcowy, używając reguł zapory.
Ustawienia:
| Setting | Description |
|---|---|
| Zezwalaj na dostęp publiczny | Włączanie dostępu publicznego w celu skonfigurowania reguł zapory |
| Zezwalaj na usługi platformy Azure | Zezwalaj na połączenia ze wszystkich usług platformy Azure |
| Dodawanie bieżącego adresu IP klienta | Dodaj swój adres IP do listy dozwolonych |
Dostęp prywatny (integracja z siecią wirtualną)
Nawiąż połączenie za pośrednictwem prywatnego punktu końcowego w sieci wirtualnej. Aby uzyskać więcej informacji, zobacz Network with private access for Azure Database for PostgreSQL (Sieć z dostępem prywatnym dla usługi Azure Database for PostgreSQL).
Konfigurowanie zabezpieczeń
| Setting | Może zmienić się później | Opcje |
|---|---|---|
| Klucz szyfrowania danych | ❌ Nie | Zarządzanie przez usługę lub zarządzanie przez klienta |
Dodawanie tagów zasobów (opcjonalnie)
Organizowanie zasobów przy użyciu par name-value:
| Name | Wartość | Przeznaczenie |
|---|---|---|
| Środowisko | Rozwój | Identyfikowanie typu środowiska |
| CostCenter | IT-Dept | Śledzenie kosztów według działu |
| Właściciel | admin@contoso.com | Identyfikowanie odpowiedzialnej strony |
Przejrzyj i twórz
- Wybierz opcję Recenzja i utwórz.
- Przejrzyj wszystkie konfiguracje.
- Wybierz pozycję Utwórz , aby wdrożyć.
Wdrożenie zwykle trwa od 5 do 10 minut. Po zakończeniu wybierz pozycję Przejdź do zasobu , aby uzyskać dostęp do serwera.
Tworzenie serwera przy użyciu interfejsu wiersza polecenia platformy Azure
Wymagania wstępne dotyczące CLI
W przypadku tego skryptu użyj interfejsu wiersza polecenia platformy Azure lokalnie, ponieważ uruchamianie w usłudze Cloud Shell trwa zbyt długo.
Zaloguj się do Azure
Użyj poniższego skryptu, aby zalogować się przy użyciu określonej subskrypcji.
subscription="<subscriptionId>" # add subscription here
az account set -s $subscription # ...or use 'az login'
Aby uzyskać więcej informacji, zobacz set active subscription or log in interactively (Ustawianie aktywnej subskrypcji lub logowanie się interaktywnie)
Jeśli używasz w Azure Cloud Shell, jesteś już zalogowany.
Tworzenie serwera za pomocą interfejsu wiersza polecenia
Utwórz serwer za pomocą jednego polecenia:
az postgres flexible-server create \
--resource-group myresourcegroup \
--name mydemoserver-pgsql \
--location eastus \
--admin-user myadmin \
--admin-password <password> \
--sku-name Standard_D4ds_v5 \
--tier GeneralPurpose \
--public-access 0.0.0.0 \
--storage-size 128 \
--tags "Environment=Development"
Odniesienie do parametrów CLI
| Parameter | Description | Example |
|---|---|---|
--resource-group |
Nazwa grupy zasobów | myresourcegroup |
--name |
Globalnie unikatowa nazwa serwera | mydemoserver-pgsql |
--location |
region świadczenia platformy Azure | eastus |
--admin-user |
Nazwa użytkownika administratora | myadmin |
--admin-password |
Hasło administratora | TwójPassword123! |
--sku-name |
Jednostka SKU obliczeniowa | Standard_D4ds_v5 |
--tier |
Warstwa obliczeniowa | Burstowalne, Ogólnego Przeznaczenia, Optymalizowane pod kątem pamięci |
--storage-size |
Magazyn w GB | 128 |
--public-access |
Dozwolone adresy IP | 0.0.0.0 (wszystkie usługi platformy Azure), adres IP lub zakres adresów IP |
--version |
Wersja PostgreSQL | 16 |
--high-availability |
Tryb HA (wysokiej dostępności) | Wyłączony, Ta Sama Strefa, Zredukowane Strefy |
--backup-retention |
Dni przechowywania kopii zapasowych | 7-35 |
Zaawansowany przykład CLI
Utwórz strefowo redundantny serwer o wysokiej dostępności.
az postgres flexible-server create \
--resource-group myresourcegroup \
--name mydemoserver-pgsql-ha \
--location eastus \
--admin-user myadmin \
--admin-password <password> \
--sku-name Standard_D4ds_v5 \
--tier GeneralPurpose \
--storage-size 256 \
--storage-type PremiumV2_LRS \
--high-availability ZoneRedundant \
--zone 1 \
--standby-zone 2 \
--backup-retention 14 \
--public-access 0.0.0.0
Tworzenie serwera przy użyciu szablonu usługi ARM
Omówienie szablonu ARM
Szablony usługi Azure Resource Manager (ARM) umożliwiają definiowanie infrastruktury jako kodu. Użyj szablonów do powtarzalnych wdrożeń.
Minimalny szablon ARM
Zapisz ten plik jako postgres-server-template.json:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"serverName": {
"type": "string",
"metadata": {
"description": "Server name must be globally unique"
}
},
"administratorLogin": {
"type": "string",
"minLength": 1,
"maxLength": 63,
"metadata": {
"description": "Administrator username"
}
},
"administratorLoginPassword": {
"type": "securestring",
"minLength": 8,
"metadata": {
"description": "Administrator password"
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Server location"
}
}
},
"resources": [
{
"type": "Microsoft.DBforPostgreSQL/flexibleServers",
"apiVersion": "2024-08-01",
"name": "[parameters('serverName')]",
"location": "[parameters('location')]",
"sku": {
"name": "Standard_D4ds_v5",
"tier": "GeneralPurpose"
},
"properties": {
"administratorLogin": "[parameters('administratorLogin')]",
"administratorLoginPassword": "[parameters('administratorLoginPassword')]",
"version": "16",
"storage": {
"storageSizeGB": 128,
"type": "Premium_LRS",
"autoGrow": "Enabled"
},
"backup": {
"backupRetentionDays": 7,
"geoRedundantBackup": "Disabled"
},
"network": {
"publicNetworkAccess": "Enabled"
},
"highAvailability": {
"mode": "Disabled"
}
}
}
],
"outputs": {
"serverFQDN": {
"type": "string",
"value": "[reference(parameters('serverName')).fullyQualifiedDomainName]"
}
}
}
Wdróż szablon ARM
az group create --name myresourcegroup --location eastus
az deployment group create \
--resource-group myresourcegroup \
--template-file postgres-server-template.json \
--parameters \
serverName=mydemoserver-pgsql \
administratorLogin=myadmin \
administratorLoginPassword=<password>
Uzyskaj informacje o połączeniu
Po utworzeniu serwera pobierz szczegóły połączenia:
Korzystanie z witryny Azure Portal
- Przejdź do serwera w witrynie Azure Portal.
- Otwórz stronę Przegląd.
- Skopiuj następujące wartości:
-
Nazwa serwera (punkt końcowy):
mydemoserver-pgsql.postgres.database.azure.com -
Logowanie administratora:
myadmin
-
Nazwa serwera (punkt końcowy):
Korzystanie z Azure CLI
az postgres flexible-server show \
--resource-group myresourcegroup \
--name mydemoserver-pgsql \
--query "{serverName:fullyQualifiedDomainName, adminUser:administratorLogin}" \
--output table
Nawiązywanie połączenia przy użyciu narzędzia psql
Instalowanie narzędzia psql
Jeśli nie masz narzędzi klienckich postgreSQL, pobierz program PostgreSQL dla swojej platformy.
Nawiązywanie połączenia z serwerem
psql "host=mydemoserver-pgsql.postgres.database.azure.com port=5432 dbname=postgres user=myadmin sslmode=require"
Po wyświetleniu monitu wprowadź hasło administratora ustawione podczas tworzenia serwera.
Format ciągu połączenia
host=<server-name>.postgres.database.azure.com port=5432 dbname=<database-name> user=<admin-user> password=<password> sslmode=require
Weryfikowanie połączenia
Po nawiązaniu połączenia powinny zostać wyświetlone następujące elementy:
psql (14.13, server 16.4)
WARNING: psql major version 14, server major version 16.
Some psql features might not work.
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off)
Type "help" for help.
postgres=>
Tworzenie bazy danych
CREATE DATABASE user_database;
\c user_database
\q
Rozwiązywanie problemów z połączeniem
Zapora blokuje połączenie
Jeśli widzisz następujące informacje:
connection to server at "mydemoserver-pgsql.postgres.database.azure.com" (###.###.###.###), port 5432 failed: Connection timed out
Rozwiązanie: Dodaj swój adres IP do reguł zapory:
az postgres flexible-server firewall-rule create \
--resource-group myresourcegroup \
--name mydemoserver-pgsql \
--rule-name AllowMyIP \
--start-ip-address <your-ip> \
--end-ip-address <your-ip>
Wymagany protokół SSL, ale nieskonfigurowane
Upewnij się, że ciąg połączenia zawiera sslmode=require.
Uprzątnij zasoby
Po zakończeniu pracy z przewodnikiem Szybki start usuń zasoby, aby uniknąć naliczania opłat.
Usuwanie całej grupy zasobów
az group delete --name myresourcegroup --yes
Usuwanie tylko serwera
az postgres flexible-server delete \
--resource-group myresourcegroup \
--name mydemoserver-pgsql \
--yes