Tüm Ürünler
Search
Belge Merkezi

ApsaraDB RDS:Use pg_restore to restore logical backup data

Son Güncelleme:Oct 09, 2026

Bu konu, mantıksal yedekleme dosyasından (.dump) verileri bir ApsaraDB RDS for PostgreSQL örneğine veya yerinde bir PostgreSQL veritabanına geri yüklemek için pg_restore komutunun nasıl kullanılacağını açıklar.

Not
  • Tek bir tablodaki veriler gibi küçük veri kümeleri için hızlı kurtarma amacıyla mantıksal yedekleme kullanabilirsiniz. Büyük veri kümeleri için verileri yeni bir örneğe tam fiziksel yedeklemeden geri yüklemenizi ve ardından verileri orijinal örneğe geri geçirmek için Data Transmission Service (DTS) kullanmanızı öneririz.

  • Veri kurtarma yöntemleri hakkında daha fazla bilgi için bkz. Kurtarma.

Önkoşullar

PostgreSQL verilerinizin mantıksal yedeklemesini oluşturdunuz.

Kullanım notları

  • Verileri geri yüklerken varsayılan postgres veritabanına bağlanmayın.

  • Belirli bir tabloyu geri yüklemek, o tablonun bağımlı olduğu diğer veritabanı nesnelerini geri yüklemez. Bu nedenle, temiz bir veritabanına geri yükleme işlemi başarısız olabilir.

Veritabanını geri yükleme

  1. Yedekleme verilerinin depolandığı ECS örneğine veya yerinde sunucuya giriş yapın ve veritabanını geri yüklemek için aşağıdaki komutu çalıştırın.

    pg_restore -h '<hostname>' -U <username> -p <port> -d <dbname> -c <dumpdir>

    Parametre

    Açıklama

    hostname

    ApsaraDB RDS for PostgreSQL örneğinin uç noktası.

    Not
    • Bir ECS örneğinden dahili uç nokta kullanarak bağlanmak için ECS örneği ile ApsaraDB RDS for PostgreSQL örneğinin aynı ağ türünü kullandığından emin olun. Her iki örnek de bir VPC içindeyse aynı VPC'de bulunmalıdır.

    • Yerinde bir sunucudan veya bir ECS örneğinden genel uç nokta kullanarak bağlanmak için örnekte bir genel uç noktanın etkinleştirildiğinden emin olun.

    username

    ApsaraDB RDS for PostgreSQL örneği için ayrıcalıklı hesabın kullanıcı adı.

    port

    ApsaraDB RDS for PostgreSQL örneğinin bağlantı noktası numarası.

    dbname

    Geri yüklemek istediğiniz veritabanının adı.

    -c (isteğe bağlı)

    -c seçeneği, mevcut veritabanı nesnelerini yeniden oluşturmadan önce siler. Diğer seçenekler hakkında daha fazla bilgi için resmi pg_restore belgelerine bakın.

    dumpdir

    Yedekleme dosyasının yolu ve adı.

    Örnek:

    pg_restore -h 'pgm-bpxxxxxx.pg.rds.aliyuncs.com' -U zht -p 5432 -d zht02 -c /tmp/testdb.dump
  2. Password: istemi göründüğünde örneğin ayrıcalıklı hesabı için parolayı girin ve Enter tuşuna basın.

    [root@iZbpxxx ~]# pg_restore -h 'pgm-xxx.pg.rds.aliyuncs.com' -U zht -p 5432 -d zht02 -c /tmp/testdb.dump
    Password:
    [root@iZbpxxx ~]#
    Not

    Yerleşik plpgsql uzantısıyla ilgili uyarıları dikkate almayabilirsiniz.

Belirli bir tabloyu geri yükleme

  1. Yedekleme verilerinin depolandığı ECS örneğine veya yerinde sunucuya giriş yapın ve belirli bir tabloyu geri yüklemek için aşağıdaki komutu çalıştırın.

    pg_restore -h '<hostname>' -U <username> -p <port> -d <dbname> -t <table> -c <dumpdir>

    Parametre

    Açıklama

    hostname

    ApsaraDB RDS for PostgreSQL örneğinin uç noktası.

    Not
    • Bir ECS örneğinden dahili uç nokta kullanarak bağlanmak için ECS örneği ile ApsaraDB RDS for PostgreSQL örneğinin aynı ağ türünü kullandığından emin olun. Her iki örnek de bir VPC içindeyse aynı VPC'de bulunmalıdır.

    • Yerinde bir sunucudan veya bir ECS örneğinden genel uç nokta kullanarak bağlanmak için örnekte bir genel uç noktanın etkinleştirildiğinden emin olun.

    username

    ApsaraDB RDS for PostgreSQL örneği için ayrıcalıklı hesabın kullanıcı adı.

    port

    ApsaraDB RDS for PostgreSQL örneğinin bağlantı noktası numarası.

    dbname

    Geri yüklemek istediğiniz veritabanının adı.

    table

    Geri yüklemek istediğiniz tablonun adı.

    -c (isteğe bağlı)

    -c seçeneği, mevcut veritabanı nesnelerini yeniden oluşturmadan önce siler. Diğer seçenekler hakkında daha fazla bilgi için resmi pg_restore belgelerine bakın.

    dumpdir

    Yedekleme dosyasının yolu ve adı.

    Örnek:

    pg_restore -h 'pgm-bpxxxxxx.pg.rds.aliyuncs.com' -U zht -p 5432 -d zht01 -t zhttest0808 -c /tmp/testdb2.dump
  2. Password: istemi göründüğünde örneğin ayrıcalıklı hesabı için parolayı girin ve Enter tuşuna basın.

    [root@iZbpxxx ~]# pg_restore -h 'pgm-bpxxx.pg.rds.aliyuncs.com' -U zht -p 5432 -d zht01 -t zhttest0808 -c /tmp/testdb2.dump
    Password:
    [root@iZbpxxx ~]#

Yalnızca veritabanı şemasını geri yükleme

  1. Yedekleme verilerinin depolandığı ECS örneğine veya yerinde sunucuya giriş yapın ve yalnızca veritabanı şemasını geri yüklemek için aşağıdaki komutu çalıştırın.

    pg_restore -h '<hostname>' -U <username> -p <port> -d <dbname> -s <dumpdir>

    Parametre

    Açıklama

    hostname

    ApsaraDB RDS for PostgreSQL örneğinin uç noktası.

    Not
    • Bir ECS örneğinden dahili uç nokta kullanarak bağlanmak için ECS örneği ile ApsaraDB RDS for PostgreSQL örneğinin aynı ağ türünü kullandığından emin olun. Her iki örnek de bir VPC içindeyse aynı VPC'de bulunmalıdır.

    • Yerinde bir sunucudan veya bir ECS örneğinden genel uç nokta kullanarak bağlanmak için örnekte bir genel uç noktanın etkinleştirildiğinden emin olun.

    username

    ApsaraDB RDS for PostgreSQL örneği için ayrıcalıklı hesabın kullanıcı adı.

    port

    ApsaraDB RDS for PostgreSQL örneğinin bağlantı noktası numarası.

    dbname

    Hedef veritabanının adı.

    -s

    -s seçeneği verileri değil, yalnızca şemayı (veri tanımını) geri yükler. Diğer seçenekler hakkında daha fazla bilgi için resmi pg_restore belgelerine bakın.

    dumpdir

    Yedekleme dosyasının yolu ve adı.

    Örnek:

    pg_restore -h 'pgm-bpxxxxxx.pg.rds.aliyuncs.com' -U zht -p 5432 -d zht03 -s /tmp/testdb2.dump
  2. Password: istemi göründüğünde örneğin ayrıcalıklı hesabı için parolayı girin ve Enter tuşuna basın.

    [root@iZbpxxx ~]# pg_restore -h 'pgm-bpxxx.pg.rds.aliyuncs.com' -U zht -p 5432 -d zht03 -s /tmp/testdb2.dump
    Password:
    [root@iZbpxxx ~]#
    Not

    Yerleşik plpgsql uzantısıyla ilgili uyarıları dikkate almayabilirsiniz.