Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
PostgreSQL için Azure Veritabanı, bulutta yüksek oranda kullanılabilir PostgreSQL veritabanlarını çalıştırmak, yönetmek ve ölçeklendirmek için kullanabileceğiniz bir yönetilen hizmettir.
Bu hızlı başlangıçta, Azure portal, Azure CLI veya Azure Resource Manager (ARM) şablonlarını kullanarak PostgreSQL için Azure Veritabanı esnek sunucu örneğinin nasıl oluşturulacağı gösterilmektedir.
Önkoşullar
Başlamadan önce aşağıdakilere sahip olduğunuzdan emin olun:
- Bir Azure aboneliği. Hesabınız yoksa ücretsiz bir Azure hesabı oluşturun.
- Aboneliğinizde kaynak oluşturmak için uygun izinler.
Ne oluşturduğunuzu anlama
PostgreSQL için Azure Veritabanı esnek sunucu örneği şunları içerir:
- Yapılandırılmış işlem ve depolama kaynakları kümesi.
- Azure kaynak grubu içinde dağıtım.
-
postgresVarsayılan olarak oluşturulan bir veritabanı. -
azure_maintenanceYönetilen hizmet işlemleri için bir veritabanı. -
azure_sysSorgu deposu ve dizin ayarlama özellikleri için bir veritabanı.
Uyarı
Bağlantılar genellikle yerleşik PgBouncer bağlantı havuzu oluşturucu aracılığıyla bağlanıyorsa 5432 numaralı bağlantı noktasını veya 6432 numaralı bağlantı noktasını kullanır.
Azure portalını kullanarak sunucu oluşturma
Oluşturma sihirbazına yönelin
- Azure portalınaoturum açın.
- Sol üst köşedeki Kaynak oluştur'u seçin.
- Kategoriler'in altında Veritabanları'yı seçin.
- PostgreSQL için Azure Veritabanı esnek sunucusunu bulun ve seçin.
- Oluştur'i seçin.
Temel ayarları yapılandırma
Proje ayrıntıları
| Setting | Önerilen değer | Notes |
|---|---|---|
| Subscription | Aboneliğiniz | Kaynağın faturalandırıldığı yeri seçme |
| Kaynak Grubu | myresourcegroup | Yeni oluştur veya var olanı seç |
Sunucu ayrıntıları
| Setting | Önerilen değer | Description |
|---|---|---|
| Sunucu adı | mydemoserver-pgsql | Genel olarak benzersiz olması gerekir. Etki alanı .postgres.database.azure.com otomatik olarak eklenir |
| Region | Size en yakın bölge | Uyumluluk, veri yerleşimi, fiyatlandırma ve kullanıcılara yakınlığı göz önünde bulundurun |
| PostgreSQL sürümü | En son mevcut | Şu anda destekleniyor: 18, 17, 16, 15, 14, 13, 12, 11 |
| İş yükü türü | Gelişme | Geliştirme patlamalı SKU'ları kullanır. Üretim, Genel Amaçlı veya Bellek İyileştirilmiş'i kullanır. |
| Kullanılabilirlik alanı | Tercih yok | Uygulamanızla birlikte kullanmak için kullanışlıdır |
Yüksek ulaşılabilirlik
| Seçenek | SLA | Description |
|---|---|---|
| Disabled | 99,9% | Yedek olmayan tek sunucu |
| Aynı bölge | %99,95 | Aynı kullanılabilirlik alanında bekleme |
| Alanlar arası yedekli | %99,99 | Farklı bir kullanılabilirlik alanında bekleme |
Authentication
| Setting | Description | Önerilir |
|---|---|---|
| Kimlik doğrulama yöntemi | Kullanıcıların kimlik doğrulaması |
-
Yalnızca PostgreSQL kimlik doğrulaması (hızlı başlangıç için) - Microsoft Entra kimlik doğrulaması (üretim için) - Her ikisi de (esneklik için) |
| Yönetici kullanıcı adı | adminuser | - 1-63 karakter uzunluğunda olmalıdır - Yalnızca sayılar ve harfler - pg_ ile başlayamaz- Sistem tarafından rezerve edilmiş adlar olamaz |
| Parola | Karmaşık parola | Büyük harf, küçük harf, sayı ve özel karakter içeren 8-128 karakter |
İşlem ve depolamayı yapılandırma
Özelleştirmek için Sunucuyu yapılandır'ı seçin:
İşlem katmanı
| Katman | Kullanım örneği | Description |
|---|---|---|
| Patlama kapasiteli | Gelişme | Sürekli tam CPU gerektirmeyen iş yükleri için |
| Genel Amaçlı | Üretim | En yaygın üretim iş yükleri |
| Bellek için İyileştirilmiş | Yüksek bellekli iş yükleri | Yüksek bellek-CPU oranı gerektiren iş yükleri |
Depolama ayarları
| Setting | Daha sonra değişebilir | Description |
|---|---|---|
| Depolama türü | ❌ Hayır | Premium SSD veya Premium SSD v2 |
| Depolama boyutu | ✅ Evet (yalnızca artış) | Oluşturma işleminden sonra küçülemiyor |
| Performans katmanı | ✅ Evet | IOPS ve aktarım hızını denetler |
| Depolama otomatik büyütme | ✅ Evet | Sınırlara yaklaşılırken otomatik olarak genişletme |
Yedekleme ayarları
| Setting | Daha sonra değişebilir | Description |
|---|---|---|
| Yedekleme saklama | ✅ Evet | 7-35 gün |
| Yedek yedeklilik | ❌ Hayır | Yerel olarak yedekli, Alanlar arası yedekli veya Coğrafi olarak yedekli |
| Coğrafi yedeklilik | ❌ Hayır | Yalnızca Azure eşleştirilmiş bölgelerinde kullanılabilir |
Ağı yapılandırma
Bağlantı yönteminizi seçin (oluşturulduktan sonra değiştirilemez):
Genel erişim (izin verilen IP adresleri)
Güvenlik duvarı kurallarını kullanarak genel uç nokta üzerinden bağlanın.
Ayarlar:
| Setting | Description |
|---|---|
| Genel erişime izin ver | Güvenlik duvarı kurallarını yapılandırmak için genel erişimi etkinleştirme |
| Azure hizmetlerine izin ver | Tüm Azure hizmetlerinden bağlantılara izin ver |
| Geçerli istemci IP'sini ekle | IP adresinizi izin ver listesine ekleme |
Özel erişim (sanal ağ Tümleştirmesi)
Sanal ağ içindeki özel bir uç nokta üzerinden bağlanın. Daha fazla bilgi için bkz. PostgreSQL için Azure Veritabanı için özel erişime sahip ağ.
Güvenliği yapılandırma
| Setting | Daha sonra değişebilir | Options |
|---|---|---|
| Veri şifreleme anahtarı | ❌ Hayır | Hizmet tarafından yönetilen veya Müşteri tarafından yönetilen |
Kaynak etiketleri ekleme (isteğe bağlı)
Kaynakları ad-değer çiftleriyle düzenleyin:
| İsim | Değer | Amaç |
|---|---|---|
| Çevre | Gelişme | Ortam türünü tanımlama |
| CostCenter | IT-Dept | Departmana göre maliyetleri izleme |
| Sahibi | admin@contoso.com | Sorumlu tarafı belirleme |
Gözden geçirme ve oluşturma
- Seçin, gözden geçir ve oluştur.
- Tüm yapılandırmaları gözden geçirin.
- Dağıtmak için Oluştur'u seçin.
Dağıtım genellikle 5-10 dakika sürer. Tamamlandığında, sunucunuza erişmek için Kaynağa git'i seçin.
Azure CLI kullanarak sunucu oluşturma
CLI önkoşulları
Bu betik için Cloud Shell'de çalıştırılması çok uzun sürdüğü için Azure CLI'yi yerel olarak kullanın.
Azure'a Giriş Yap
Belirli bir abonelik kullanarak oturum açmak için aşağıdaki betiği kullanın.
subscription="<subscriptionId>" # add subscription here
az account set -s $subscription # ...or use 'az login'
Daha fazla bilgi için bkz . Etkin aboneliği ayarlama veya etkileşimli olarak oturum açma
Azure Cloud Shell kullanıyorsanız zaten oturum açmışsınız demektir.
CLI ile sunucu oluşturma
Tek bir komutla sunucu oluşturma:
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"
CLI parametreleri referansı
| Parametre | Description | Example |
|---|---|---|
--resource-group |
Kaynak grubu adı | myresourcegroup |
--name |
Genel olarak benzersiz sunucu adı | mydemoserver-pgsql |
--location |
Azure region | eastus (bölge adı) |
--admin-user |
Yönetici kullanıcı adı | myadmin |
--admin-password |
Yönetici parolası | YourPassword123! |
--sku-name |
Hesaplama SKU'su | Standard_D4ds_v5 |
--tier |
İşlem katmanı | Patlayabilir, Genel Amaçlı, Bellek Optimizasyonlu |
--storage-size |
Depolama (GB) | 128 |
--public-access |
İzin verilen IP adresleri | 0.0.0.0 (tüm Azure hizmetleri), IP adresi veya IP aralığı |
--version |
PostgreSQL sürümü | 16 |
--high-availability |
HA modu | Devre Dışı, SameZone, ZoneRedundant |
--backup-retention |
Yedekleme saklama günleri | 7-35 |
Gelişmiş CLI örneği
Alanlar arası yedekli yüksek oranda kullanılabilir bir sunucu oluşturun:
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
ARM şablonunu kullanarak sunucu oluşturma
ARM şablonuna genel bakış
Azure Resource Manager (ARM) şablonları, altyapıyı kod olarak tanımlamanıza olanak sağlar. Tekrarlanabilir dağıtımlar için şablonları kullanın.
Minimal ARM şablonu
Bu dosyayı olarak postgres-server-template.jsonkaydedin:
{
"$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]"
}
}
}
ARM şablonunu dağıtma
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>
Bağlantı bilgilerini alma
Sunucunuzu oluşturduktan sonra bağlantı ayrıntılarını alın:
Azure portalını kullanma
- Azure portalında sunucunuza gidin.
- Genel Bakış sayfasını açın.
- Şu değerleri kopyalayın:
-
Sunucu adı (Uç Nokta):
mydemoserver-pgsql.postgres.database.azure.com -
Yönetici oturum açma bilgileri:
myadmin
-
Sunucu adı (Uç Nokta):
Azure CLI’yı kullanma
az postgres flexible-server show \
--resource-group myresourcegroup \
--name mydemoserver-pgsql \
--query "{serverName:fullyQualifiedDomainName, adminUser:administratorLogin}" \
--output table
psql kullanarak bağlanma
psql yükleme
PostgreSQL istemci araçlarınız yoksa platformunuz için PostgreSQL'i indirin .
Sunucunuza bağlanma
psql "host=mydemoserver-pgsql.postgres.database.azure.com port=5432 dbname=postgres user=myadmin sslmode=require"
İstendiğinde, sunucu oluşturma sırasında ayarladığınız yönetici parolasını girin.
Bağlantı dizesi biçimi
host=<server-name>.postgres.database.azure.com port=5432 dbname=<database-name> user=<admin-user> password=<password> sslmode=require
Bağlantıyı doğrulama
Bağlandıktan sonra şunları görmeniz gerekir:
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=>
veritabanı oluşturun
CREATE DATABASE user_database;
\c user_database
\q
Bağlantı sorunlarını giderme
Güvenlik duvarı bağlantıyı engelliyor
Şunu görüyorsanız:
connection to server at "mydemoserver-pgsql.postgres.database.azure.com" (###.###.###.###), port 5432 failed: Connection timed out
Çözüm: IP adresinizi güvenlik duvarı kurallarına ekleyin:
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>
SSL gerekli ancak yapılandırılmamış
Bağlantı dizesinin sslmode=require içerdiğinden emin olun.
Kaynakları temizle
Hızlı başlangıcı tamamladığınızda, ücretlerden kaçınmak için kaynakları silin.
Kaynak grubunun tamamını silme
az group delete --name myresourcegroup --yes
Yalnızca sunucuyu silme
az postgres flexible-server delete \
--resource-group myresourcegroup \
--name mydemoserver-pgsql \
--yes