ApsaraDB RDS for PostgreSQL dışına veri taşımanız gerektiğinde (örneğin, bir örneği devre dışı bırakmak, verileri arşivlemek veya bir geliştirme ortamıyla senkronize etmek için) bir anlık görüntü yedeklemesini CSV veya SQL dosyası olarak indirebilir ve sağlanan Python betiğini kullanarak kendi yönettiğiniz bir PostgreSQL örneğine geri yükleyebilirsiniz.
Geri yükleme yöntemi seçin
Başlamadan önce bu yöntemin durumunuza uygun olduğunu onaylayın:
| Yöntem | En uygun olduğu durumlar | Kılavuz |
|---|---|---|
| CSV veya SQL dosyası (bu konu) | Cloud disk örneğinden tam anlık görüntü geri yükleme | Bu sayfa |
| pg_restore ile mantıksal yedekleme | Tek bir tablo gibi kısmi geri yükleme | Mantıksal yedekleme dosyasından veri geri yükleme |
| Data Transmission Service (DTS) | Minimum manuel çaba, sürekli senkronizasyon | PostgreSQL veritabanından veri geçişi yapma |
Tüm geri yükleme seçeneklerinin genel bir görünümü için bkz. Veri geri yükleme yöntemlerine genel bakış.
Ön koşullar
Başlamadan önce aşağıdakilerin karşılandığından emin olun:
RDS örneğiniz cloud diskler kullanır. Bu yöntem yalnızca cloud disk örnekleri için geçerlidir.
-
Hedef makinede Python 3 yüklüdür:
python3 --version Hedef kendi yönettiğiniz PostgreSQL örneğinde, içe aktardığınız veritabanıyla aynı ada sahip bir veritabanı bulunmamalıdır. Aksi takdirde içe aktarma başarısız olur. Devam etmeden önce çakışan veritabanını silin veya yeniden adlandırın.
Aşağıdaki adımlarda örnek olarak 64 bitlik CentOS 7.8 ortamı kullanılmıştır. İşletim sisteminiz farklıysa sisteminize karşılık gelen komutları kullanın.
Yedekleme dosyasından veri geri yükleme
ApsaraDB RDS konsoluna oturum açın ve örneğinizin yedekleme dosyasını CSV veya SQL dosyası olarak indirin. Talimatlar için bkz. Yedekleme dosyalarını indirme.
-
İndirilen paketin sıkıştırmasını açın:
tar -zxvf <package-name>.tar.gz -C <target-directory>Örneğin,
backup.tar.gzdosyasının sıkıştırmasını/home/ecs-test-userdizinine açmak için:tar -zxvf backup.tar.gz -C /home/ecs-test-user -
(İsteğe bağlı) Dosyaların hedef dizine çıkarıldığını doğrulayın:
ls -al /home/ecs-test-user PostgreSQL Python betiğini (
restore_from_downloads.py) aynı makineye indirin.-
Betiğe yürütme izni verin:
chmod +x ./restore_from_downloads.py -
Verileri kendi yönettiğiniz PostgreSQL örneğine geri yüklemek için betiği çalıştırın:
Parametre Açıklama Örnek <data-directory>Çıkarılan CSV veya SQL dosyalarını içeren dizin /home/ecs-test-user<host>Kendi yönettiğiniz PostgreSQL örneğinin ana bilgisayar adresi 127.0.0.1<port>Bağlantı noktası numarası 5432<username>Veritabanı hesabı kullanıcı adı. Kullanıcı adı #gibi özel karakterler veya boşluklar içeriyorsa çift tırnak işareti (") içine alın.postgres<password>Veritabanı hesabı parolası. Parola #gibi özel karakterler veya boşluklar içeriyorsa çift tırnak işareti (") içine alın."#Tes********"python3 restore_from_downloads.py <data-directory> <host> <port> <username> <password>Örnek:
python3 restore_from_downloads.py /home/ecs-test-user 127.0.0.1 5432 postgres "#Tes********"