PostgreSQL veritabanını Azure Arc özellikli PostgreSQL sunucusuna geçirme
Bu belgede mevcut PostgreSQL veritabanınızı (Azure Arc özellikli Veri Hizmetleri'nde barındırılmayan veritabanı) Azure Arc özellikli PostgreSQL sunucunuza alma adımları açıklanmaktadır.
Not
Önizleme özelliği olarak, bu makalede sunulan teknoloji Microsoft Azure Önizlemeleri için Ek Kullanım Koşulları'na tabidir.
Dikkat edilmesi gereken noktalar
Azure Arc özellikli PostgreSQL sunucusu, PostgreSQL'in topluluk sürümüdür. Bu nedenle, Azure Arc dışında PostgreSQL üzerinde çalışan tüm araçlar Azure Arc özellikli PostgreSQL sunucusuyla çalışmalıdır.
Bu nedenle, postgres için bugün kullandığınız araçlarla şunları yapabilmeniz gerekir:
- Postgres veritabanınızı Azure Arc dışında barındırılan örneğinizden yedekleme
- Azure Arc özellikli PostgreSQL sunucunuza geri yükleme
Yapmanız gereken şey:
- sunucu parametrelerini sıfırlama
- güvenlik bağlamlarını sıfırlayın: kullanıcıları, rolleri ve sıfırlama izinlerini yeniden oluşturun...
Bu yedekleme/geri yükleme işlemini yapmak için Postgres için yedekleme/geri yükleme yapabilen herhangi bir aracı kullanabilirsiniz. Örneğin:
- Azure Data Studio ve Postgres uzantısı
pgcli
pgAdmin
pg_dump
pg_restore
psql
- ...
Örnek
Şimdi aracı kullanarak pgAdmin
bu adımları gösterelim.
Aşağıdaki kurulumu göz önünde bulundurun:
Kaynak:
Şirket içinde çıplak bir sunucuda çalışan ve JEANYDSRV adlı bir Postgres sunucusu. Sürüm 14'tür ve 1 satırı olan bir T1 tablosuna sahip MyOnPremPostgresDB adlı bir veritabanını barındırırHedef:
Azure Arc ortamında çalışan ve postgres01 adlı bir Postgres sunucusu. Sürüm 14'tür. Standart Postgres veritabanı dışında herhangi bir veritabanına sahip değildir.
Şirket içi kaynak veritabanının yedeğini alma
Yapılandırın:
- Dosya adı verin: MySourceBackup
- Biçimi Özel olarak ayarlama
Yedekleme başarıyla tamamlar:
Azure Arc özellikli PostgreSQL sunucunuzda hedef sistemde boş bir veritabanı oluşturma
Not
Araca bir Postgres örneği pgAdmin
kaydetmek için Kubernetes kümenizde örneğinizin genel IP'sini kullanmanız ve bağlantı noktası ile güvenlik bağlamını uygun şekilde ayarlamanız gerekir. Aşağıdaki komutu çalıştırdıktan sonra bu ayrıntıları psql
uç nokta satırında bulabilirsiniz:
az postgres server-arc endpoint list -n postgres01 --k8s-namespace <namespace> --use-k8s
Bu, aşağıdaki gibi bir çıkış döndürür:
{
"instances": [
{
"endpoints": [
"Description": "PostgreSQL Instance",
"Endpoint": "postgresql://postgres:<replace with password>@12.345.123.456:1234"
},
{
"Description": "Log Search Dashboard",
"Endpoint": "https://12.345.123.456:12345/kibana/app/kibana#/discover?_a=(query:(language:kuery,query:'custom_resource_name:\"postgres01\"'))"
},
{
"Description": "Metrics Dashboard",
"Endpoint": "https://12.345.123.456:12345/grafana/d/postgres-metrics?var-Namespace=arc3&var-Name=postgres01"
}
],
"engine": "PostgreSql",
"name": "postgres01"
}
],
"namespace": "arc"
}
Hedef veritabanını RESTORED_MyOnPremPostgresDB adlandıralım.
Arc kurulumunuzda veritabanını geri yükleme
Geri yüklemeyi yapılandırın:
Geri yükleneceği yedeklemeyi içeren dosyanın üzerine gelin: MySourceBackup
Biçimi Özel veya tar olarak ayarlayın
Geri Yükle'ye tıklayın.
Geri yükleme başarılı oldu.
Veritabanının Azure Arc özellikli PostgreSQL sunucunuzda başarıyla geri yüklendiğini doğrulayın
Aşağıdaki yöntemlerden birini kullanın:
Kimden pgAdmin
:
Azure Arc kurulumunuzda barındırılan Postgres örneğini genişletin. Tabloyu geri yüklediğiniz veritabanında görürsünüz ve verileri seçtiğinizde, şirket içi örnektekiyle aynı satırı gösterir:
psql
Azure Arc kurulumunuzun içinden:
Arc kurulumunuzda Postgres örneğine bağlanmak, veritabanı bağlamını olarak ayarlamak ve verileri sorgulamak için RESTORED_MyOnPremPostgresDB
kullanabilirsinizpsql
:
bağlantı dizesi oluşturmaya yardımcı olacak uç noktaları listeleyin
psql
:az postgres server-arc endpoint list -n postgres01 --k8s-namespace <namespace> --use-k8s
{ "instances": [ { "endpoints": [ "Description": "PostgreSQL Instance", "Endpoint": "postgresql://postgres:<replace with password>@12.345.123.456:1234" }, { "Description": "Log Search Dashboard", "Endpoint": "https://12.345.123.456:12345/kibana/app/kibana#/discover?_a=(query:(language:kuery,query:'custom_resource_name:\"postgres01\"'))" }, { "Description": "Metrics Dashboard", "Endpoint": "https://12.345.123.456:12345/grafana/d/postgres-metrics?var-Namespace=arc3&var-Name=postgres01" } ], "engine": "PostgreSql", "name": "postgres01" } ], "namespace": "arc" }
psql
bağlantı dizesi veritabanı adını belirtmek için parametresini kullanın-d
. Aşağıdaki komutla parola istenir:psql -d RESTORED_MyOnPremPostgresDB -U postgres -h 10.0.0.4 -p 32639
psql
Bağlanır.Password for user postgres: psql (10.12 (Ubuntu 10.12-0ubuntu0.18.04.1), server 12.3 (Debian 12.3-1.pgdg100+1)) WARNING: psql major version 10, server major version 12. 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. RESTORED_MyOnPremPostgresDB=#
Tabloyu seçtiğinizde şirket içi Postgres örneğinden geri yüklemiş olduğunuz verileri görürsünüz:
RESTORED_MyOnPremPostgresDB=# select * from t1;
col1 | col2 ------+------------- 1 | BobbyIsADog (1 row)
Not
- Bugün şirket içinde veya başka bir bulutta çalışan mevcut bir Postgres örneğini "Azure Arc'a eklemek" mümkün değildir. Başka bir deyişle, Mevcut Postgres örneğinize bir tür "Azure Arc aracısı" yükleyerek Azure Arc tarafından etkinleştirilen bir Postgres kurulumu yapmanız mümkün değildir. Bunun yerine yeni bir Postgres örneği oluşturmanız ve bu örneğe veri aktarmanız gerekir. Bunu yapmak için yukarıda gösterilen tekniği kullanabilir veya istediğiniz herhangi bir ETL aracını kullanabilirsiniz.
*Bu belgelerde Azure portalında oturum açma ve PostgreSQL için Azure Veritabanı oluşturma bölümlerini atlayın. Azure Arc dağıtımınızda kalan adımları uygulayın. Bu bölümler, Azure bulutunda PaaS hizmeti olarak sunulan PostgreSQL için Azure Veritabanı sunucusuna özeldir, ancak belgelerin diğer bölümleri Doğrudan Azure Arc özellikli PostgreSQL sunucunuz için geçerlidir.