PostgreSQL Veritabanlarının Yedeklenmesi ve Kurtarılması
Veri koruması, özellikle kritik PostgreSQL veritabanlarını yönetmek için güvenilir bir barındırma çözümü ile başlar. AlexHost’un Adanmış Sunucuları, PostgreSQL’i barındırmak için ideal ortamı sağlar, güçlü performans, tam kök erişimi ve verilerinizin güvende ve her zaman erişilebilir olmasını sağlamak için gelişmiş güvenlik özellikleri sunar. AlexHost ile, veritabanı bütünlüğünü korumak ve kesinti süresini en aza indirmek için SQL dökümleri, özel format yedeklemeleri ve zaman içinde nokta kurtarma gibi yedekleme stratejilerini kolayca entegre edebilirsiniz.
PostgreSQL veritabanlarının yedeklenmesi ve kurtarılması, veri bütünlüğünün sağlanması ve veri kaybı durumunda kesinti süresinin en aza indirilmesi için kritik öneme sahiptir. Bu kılavuz, PostgreSQL veritabanlarını çeşitli yöntemler kullanarak yedekleme ve geri yükleme adımlarında size yol gösterecektir.
1. PostgreSQL Yedekleme Seçeneklerini Anlama
PostgreSQL, verileri yedeklemek için aşağıdakiler de dahil olmak üzere çeşitli yöntemler sağlar:
- SQL Dökümü: Bu yöntem, veritabanını yeniden oluşturmak için kullanılabilecek, veritabanının düz metin SQL komut dosyasını oluşturur.
- Özel Biçim Dökümü: Bu yöntem, sıkıştırılabilen ve büyük veritabanları için uygun olan ikili bir dosya oluşturur.
- Dosya Sistemi Düzeyinde Yedekleme: Bu yöntem, diskteki veritabanı dosyalarının anlık görüntüsünün alınmasını içerir, büyük veritabanları için uygundur ancak daha fazla uzmanlık gerektirir.
- Sürekli Arşivleme ve Zamanında Nokta Kurtarma (PITR): Bu yöntem, veritabanını zaman içinde belirli bir noktaya geri yüklemenizi sağlar.
2. Yedekleme için Hazırlık
Bir yedekleme gerçekleştirmeden önce, gerekli ayrıcalıklara sahip olduğunuzdan emin olun. Yedeklemek istediğiniz veritabanının süper kullanıcısı veya sahibi olmanız gerekir.
3. PostgreSQL Veritabanını Yedekleme
Yöntem 1: pg_dump kullanma
Pg_dump yardımcı programı, veritabanınızın bir yedeğini oluşturmanızı sağlar.
Adım 1: Bir Terminal Açın
Sunucunuza SSH üzerinden veya doğrudan makine üzerinden erişin.
Adım 2: pg_dump Komutunu Çalıştırın
Bir veritabanının SQL dökümünü oluşturmak için aşağıdaki komutu kullanın:
- -U kullanıcı adı: PostgreSQL kullanıcı adını belirtin.
- -W: Parola için sorar.
- -F p: Biçimi belirtin (düz SQL betiği).
- database_name: Yedeklemek istediğiniz veritabanının adı.
- backup_file.sql: Yedekleme için çıktı dosyasının adı.
Örnek:
Yöntem 2: pg_dumpall Kullanımı
PostgreSQL örneğindeki tüm veritabanlarını yedeklemek istiyorsanız, pg_dumpall kullanabilirsiniz:
4. Özel Biçim Kullanarak Yedekleme
Özel formatta bir yedek oluşturmak için pg_dump ile -F c seçeneğini kullanın:
Bu format daha kolay restorasyon ve sıkıştırma sağlar.
5. PostgreSQL Veritabanını Geri Yükleme
Yöntem 1: SQL Dökümü’nden Geri Yükleme
Bir veritabanını SQL dökümünden geri yüklemek için psql komutunu kullanın:
- -d database_name: Verileri geri yüklemek istediğiniz veritabanının adı.
- backup_file.sql: SQL döküm dosyasının yolu.
Yöntem 2: Özel Formattan Geri Yükleme
Özel bir format dökümü için pg_restore komutunu kullanın:
- Veritabanı mevcut değilse geri yüklemeden önce oluşturmak için -C seçeneğini kullanabilirsiniz.
6. Sürekli Arşivleme ve Zamanında Nokta Kurtarma (PITR) Kullanımı
İleri düzey kullanıcılar için PostgreSQL, WAL (Write-Ahead Logging) yapılandırmasını gerektiren sürekli arşivlemeye izin verir. Bu yöntem şunları içerir:
- WAL Arşivlemeyi Ayarlama: WAL arşivlemeyi etkinleştirmek için postgresql.conf dosyasını değiştirin:archive_mode = on archive_command = ‘cp %p /path/to/archive/%f’
- Temel Yedeklemeler Gerçekleştirme: Veritabanının tam yedeğini almak için pg_basebackup kullanın.
- WAL Arşivlerinden Geri Yükleme: Temel yedeklemeyi ve arşivlenmiş WAL dosyalarını kullanarak veritabanını zaman içinde belirli bir noktaya geri yükleyebilirsiniz.
7. Sonuç
PostgreSQL veritabanlarının düzenli olarak yedeklenmesi, veri koruma ve kurtarma için hayati önem taşır. Bu kılavuzda özetlenen yöntemleri izleyerek verimli bir şekilde yedeklemeler oluşturabilir ve gerektiğinde veritabanlarınızı geri yükleyebilirsiniz. Sağlam bir yedekleme stratejisi uygulamak, verilerinizin bütünlüğünü sağlayacak ve veri kaybı durumunda kesinti süresini en aza indirecektir.