Veritabanlarının bütünlüğünü korumak, günümüzün veri odaklı dünyasında her türden kuruluş için hayati öneme sahiptir. PostgreSQL adı verilen açık kaynaklı, güvenilir ilişkisel veritabanı yönetim sistemi birçok farklı sektörde yaygın olarak kullanılmaktadır. PostgreSQL veritabanının nasıl yedekleneceğini ve geri yükleneceğini bilmek, ister acemi ister uzman bir veritabanı yöneticisi olalım, bizi veri kaybından koruyan önemli bir beceridir.
PostgreSQL veritabanlarının nasıl geri yükleneceği ve yedekleneceği hakkında konuşalım. Verilerimizin güvenliğini ve kullanılabilirliğini sağlamak için temel ilkeleri, yaklaşımları ve en iyi uygulamaları açıklayacağız.
Ubuntu’da PostgreSQL Kurulumu
Ubuntu’nun varsayılan deposundan en güncel PostgreSQL sürümünü yükleyin.
PostgreSQL’in konfigürasyonu “/etc/postgresql/12/main” dizininde saklanır, varsayılan veri konumu ise “/var/lib/postgresql/12/main”dir.
$ sudo systemctl is-enabled postgresql
$ sudo systemctl status postgresql
Ayrıca aşağıdakileri yaparak PostgreSQL sunucusunun istemci bağlantılarını kabul etmeye hazır olduğunu doğrulayın:
Bundan sonra veritabanını oluşturabilir ve veritabanını yapılandırabiliriz.
Tek PostgreSQL Veritabanının Yedeğinin Oluşturulması
PostgreSQL’in “pg_dump” programı veritabanlarının yedeklenmesini kolaylaştırır. SQL komutlarının kullanımıyla daha sonra kolayca kurtarılabilecek bir veritabanı dosyası oluşturur.
Daha sonra Postgres kullanıcısı olarak oturum açın ve aşağıda gösterildiği gibi “pg_dump” komutunu çalıştırın:
Diğer çıktı formatları da “pg_dump” tarafından desteklenmektedir:
-F: Çıkış biçimi
“c”: Özel formatlı arşiv dosyası
“t”: Tar formatındaki arşiv dosyası
Tüm formatlar “pg_restore” ile uyumludur.
Bir örnek görelim:
Veya
“-f” seçenekleri çıktının kaydedilmesine yardımcı olur.
Aşağıda gösterildiği gibi “psql” kullanarak dökümü geri yükleyebiliriz:
PostgreSQL Veritabanını Kurtarma veya Geri Yükleme
PostgreSQL veritabanını geri yüklemek için “psql” veya “pg_restore” komutlarını kullanabiliriz. “psql” komutu, “pg_dump” tarafından oluşturulan metin dosyalarını kurtarır, ancak “pg_restore”, PostgreSQL veritabanını “pg_dump” (özel, tar veya dizin) tarafından hazırlanan düz metin olmayan bir arşivden kurtarır.
Aşağıda düz metin dosyası dökümünün nasıl kurtarılacağına ilişkin bir örnek yer almaktadır:
Özel formatlı bir dökümün gösterildiği gibi “pg_restore” kullanılarak geri yüklenmesi gerekir çünkü daha önce de belirtildiği gibi bu “psql” için bir komut dosyası değildir. Burada “d”, “dizin” formatındaki arşiv anlamına gelir:
Büyük PostgreSQL Veritabanının Yedeklemesinin Alınması
Yedeklediğimiz veritabanı çok büyükse ve biraz daha küçük bir çıktı dosyası oluşturmak istiyorsak, “pg_dump” çıktısını gzip gibi bir sıkıştırma aracıyla veya favorilerimizden herhangi biriyle filtreleyerek sıkıştırılmış bir döküm gerçekleştirebiliriz. Bu nedenle aşağıdaki formatı kullanın:
Remote PostgreSQL Database Backup
“pg_dump” uzak veritabanı sunucularında işlemleri gerçekleştirmemize olanak sağlayan standart bir PostgreSQL istemci aracıdır. Ayrıca, bağlanılacak veritabanı rolünü belirtmek için -U parametresini kullanın:
30.10.20.10 ana bilgisayar ipini veya sunucu adını değiştirin.
5232’yi veritabanı bağlantı noktasıyla değiştirin.
“Souvikdb” veritabanı adını değiştirin.
Gösterildiği gibi “pg_dump” ve “psql” yardımcı programlarını kullanma. Bir veritabanını doğrudan bir sunucudan diğerine aktarmak da mümkündür.
PostgreSQL Veritabanını Otomatik Yedeklemek için Cron İşi Kullanma
Cron görevlerini kullanarak yedeklemeleri düzenli aralıklarla planlayabiliriz. Cron işleri, bir sunucuda yürütülecek çeşitli görev türlerini planlamak için popüler bir yöntemdir.
PostgreSQL veritabanı yedeklemesini otomatikleştirmek için aşağıdaki cron işi kullanılabilir. Aşağıdaki komutların PostgreSQL süper kullanıcısı olarak çalıştırılması gerektiğine dikkat edilmelidir:
$ crontab -e
Bu yeni hizmet, yeniden başlatma gerektirmeden cron hizmeti tarafından otomatik olarak başlatılır.
Önemli dosyalarımızın yedeğini otomatik olarak alır.
Yazının orijinalini buradan okuyabilirsiniz.
Kariyerime 26 yıl önce başladım. Windows ve Linux sistemlerinin kurulumu, yapılandırılması, yönetimi ve bakımı dahil olmak üzere birden fazla sistem üzerinde uzmanlaştım.
Açık kaynak dünyasındaki en son gelişmelerden haberdar olmaktan ve Linux hakkındaki en son araçları, özellikleri ve hizmetleri denemekten hoşlanıyorum.
Son 6 yıldır sistem ve ağ yöneticisi olarak görev yapıyorum ayrıca Pardus Dönüşüm Projesini yönetiyorum ve Pardus İşletim Sisteminin yaygınlaşması adına uğraş gösteriyorum.
Boş zamanlarımda açık kaynaklı uygulamaların Türkçe çevirisine katılıyorum ve The Document Foundation üyesiyim.