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.
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
postgresveritabanı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
-
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ı)
-cseç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 -
-
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 ~]#NotYerleşik plpgsql uzantısıyla ilgili uyarıları dikkate almayabilirsiniz.
Belirli bir tabloyu geri yükleme
-
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ı)
-cseç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 -
-
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
-
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
-sseç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 -
-
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 ~]#NotYerleşik plpgsql uzantısıyla ilgili uyarıları dikkate almayabilirsiniz.