Bir ApsaraDB RDS for PostgreSQL örneğinin mantıksal yedeğini oluşturmak ve yedek dosyasını yerel depolama veya geçiş amacıyla dışa aktarmak için pg_dump aracını kullanın.
pg_dump aracı, her seferinde tek bir veritabanını yedekler. Resmi başvuru kılavuzu için bkz. pg_dump.
Ön koşullar
Başlamadan önce aşağıdakilerin tamamlandığından emin olun:
Elastic Compute Service (ECS) örneğinizin veya şirket içi sunucunuzun IP adresini, RDS örneğinin IP adresi izin listesine ekleyin. Daha fazla bilgi için bkz. IP adresi izin listesi yapılandırma.
ECS örneğiniz veya şirket içi sunucunuz, RDS örneğinizle aynı PostgreSQL sürümünü çalıştırıyor olmalıdır.
Bu konudaki örneklerde CentOS 7 ve PostgreSQL 15 kullanılmıştır.
Kullanım notları
pg_dump komutunu çalıştırmak için RDS örneğinin ayrıcalıklı hesabını kullanın. Ayrıcalıklı hesap oluşturma talimatları için bkz. Hesap oluşturma.
Uç nokta seçimi
Tüm yedekleme komutları bir bağlantı uç noktası (-h) gerektirir. Ağ kurulumunuza göre seçim yapın:
İç uç nokta: ECS örneği ile RDS örneği aynı ağ türünü kullanmalıdır. Her ikisi de Virtual Private Cloud (VPC) kullanıyorsa, aynı VPC içinde bulunmaları gerekir. Daha fazla bilgi için bkz. ApsaraDB RDS for PostgreSQL örneğinin uç noktalarını ve bağlantı noktası numaralarını görüntüleme ve değiştirme.
Genel uç nokta: Kullanımdan önce RDS örneğine bir genel uç nokta atanmış olmalıdır. Daha fazla bilgi için bkz. Uç noktaları ve bağlantı noktası numaralarını görüntüleme ve değiştirme ve Genel uç nokta talep etme veya serbest bırakma.
Veritabanı yedekleme
ECS örneğinize veya şirket içi sunucuya giriş yapın ve aşağıdaki komutu çalıştırın:
pg_dump -h '<hostname>' -U <username> -p <port> -Fc <dbname> > <dumpdir>
Parametreler
| Parametre | Açıklama |
|---|---|
hostname |
RDS örneğinin uç noktası. |
username |
Ayrıcalıklı hesabın kullanıcı adı. |
port |
RDS örneğinin bağlantı noktası. |
-Fc |
Özel biçimde çıktı alır. pg_restore için gereklidir ve seçmeli tablo geri yüklemeyi destekler. |
dbname |
Yedeklenecek veritabanının adı. |
dumpdir |
Yedek dosyası için çıkış yolu ve dosya adı. |
Örnek
pg_dump -h 'pgm-bpxxxxxx.pg.rds.aliyuncs.com' -U zht -p 5432 -Fc zht01 > /tmp/testdb.dump
İstendiğinde ayrıcalıklı hesabın şifresini girin ve ardından Enter tuşuna basın.
Yedek dosyasının oluşturulduğunu doğrulamak için (Linux):
ll /tmp/testdb.dump

Bir veya daha fazla tabloyu yedekleme
ECS örneğinize veya şirket içi sunucuya giriş yapın ve aşağıdaki komutu çalıştırın:
pg_dump -h '<hostname>' -U <username> -p <port> -t <Schema>.<table> -Fc <dbname> > <dumpdir>
Ek tabloları dahil etmek için -t <Schema>.<table> parametresini birden çok kez ekleyin.
Ek parametre
| Parametre | Açıklama |
|---|---|
-t <Schema>.<table> |
Yedeklenecek tablo; schema.table biçiminde belirtilir. Varsayılan şema Public şeklindedir. Public şemasındaki tablolar için şema ön ekini atlayabilirsiniz. |
Diğer parametreler (hostname, username, port, -Fc, dbname, dumpdir) için bkz. Veritabanı yedekleme.
Örnek
pg_dump -h 'pgm-bpxxxxxx.pg.rds.aliyuncs.com' -U zht -p 5432 -t zhttest0808 -Fc zht01 > /tmp/testdb2.dump
İstendiğinde ayrıcalıklı hesabın şifresini girin ve ardından Enter tuşuna basın.
Yedek dosyasının oluşturulduğunu doğrulamak için (Linux):
ll /tmp/testdb2.dump

Tablolar hariç tutularak veritabanı yedekleme
ECS örneğinize veya şirket içi sunucuya giriş yapın ve aşağıdaki komutu çalıştırın:
pg_dump -h '<hostname>' -U <username> -p <port> -T <table> -Fc <dbname> > <dumpdir>
Ek tabloları hariç tutmak için -T <table> parametresini birden çok kez ekleyin.
Ek parametre
| Parametre | Açıklama |
|---|---|
-T <table> |
Yedekten hariç tutulacak tablo. |
Diğer parametreler için bkz. Veritabanı yedekleme.
Örnek
pg_dump -h 'pgm-bpxxxxxx.pg.rds.aliyuncs.com' -U zht -p 5432 -T zhttest0808 -Fc zht01 > /tmp/testdb3.dump
İstendiğinde ayrıcalıklı hesabın şifresini girin ve ardından Enter tuşuna basın.
Yedek dosyasının oluşturulduğunu doğrulamak için (Linux):
ll /tmp/testdb3.dump

Veritabanı şemasını yedekleme
ECS örneğinize veya şirket içi sunucuya giriş yapın ve aşağıdaki komutu çalıştırın:
pg_dump -h '<hostname>' -U <username> -p <port> -s -Fc <dbname> > <dumpdir>
Ek parametre
| Parametre | Açıklama |
|---|---|
-s |
Yalnızca veritabanı şemasını yedekler. Veriler dahil edilmez. |
Diğer parametreler için bkz. Veritabanı yedekleme.
Örnek
pg_dump -h 'pgm-bpxxxxxx.pg.rds.aliyuncs.com' -U zht -p 5432 -s -Fc zht01 > /tmp/testdb4.dump
İstendiğinde ayrıcalıklı hesabın şifresini girin ve ardından Enter tuşuna basın.
Yedek dosyasının oluşturulduğunu doğrulamak için (Linux):
ll /tmp/testdb4.dump

Sonraki adımlar
Mantıksal yedek dosyasından veri geri yüklemek için bkz. Mantıksal yedek dosyasından veri geri yükleme.