Pg_restore
Pg_restore postgresql in yedekleri restore etmek için kullanılan araçlardan bir tanesidir. Pg_restore ile pg_dump ile alınan yedekleri geri yükleyebiliyoruz fakat text biçiminde olan yedekleri yüklemek için psql aracını kullanılıyoruz daha detaylı bilgi için PostgreSQL Dump isimli yazıma göz atabilirsiniz.
Pg_restore komutu kullanılırken mevcut veritabanın içerisine alınan yedekler yüklenebilir veya pg_restore parametrelerini kullanarak yeni bir veritabanı oluştururak da restore işlemi gerçekleştirilebilir.
Pg_restore parametrelerinin bazıları aşağıdaki gibidir.
- -d veya –dbname : Bağlanılacak veritabanın adı belirtilir .
- -h veya –host: Bağlanılmak istenen postgresql ip
- -p veya –port: Bağlanmak istenen postgresql portu
- -U veya –username: Bağlanılmak istenen kullanıcı adı.
- -w veya –no-password: Bağlantı sağlanırken işlem sırasında parola kullanılmaması için kullanılır.
- -W veya –password: Bir veritabanına bağlanmadan önce parola istemesi için kullanılır.
- –role: Belirtilen role u kullanarak restore yapmak için kullanılır. Superuser kullanıcısı verilemeden yetki tanımlamak için kullanılır.
- -a veya –data-only: Belirtilen veritabanındaki ki nesnelerin create scriptinlerini almaz sadece içerisinde ki dataları alır.
- -c veya –clean: Veritabanı içerisinde nesneleri create etmeden önce silmek için kullanılan parametredir. Boş veya yeni bir veritabanı oluşturulacaksa bu parametreye gerek yoktur.
- -C veya –create: Restore işleminden önce veritabanı oluşturmak için kullanılır.
- -d veya –dbname: Yedeği alınan nesneleri seçilen veritabanına yüklemek için kullanılır.
- -e veya –exit -on-error: Restore sırasında herhangi bir hata ile karşılaşıldığında restore işlemini bitir devam etme anlamına gelmektedir.
- -f veya –file: Geri dönülmek istenen yedeğin nerede olduğunu belirtilen parametredir.
- -F veya –format: Restore edilmek istenen yedeğin formatını belirtmek için kullanılır.
- p veya plain: SQL komutu dosyası olarak çıktı vermek için kullanılır. -Fp şeklinde kullanabilir .
- c veya custom: Pg_restore için uygun özel formatta çıkarır. -Fc şeklinde kullanabilir .
- d veya directory : Pg_restore için uygun özel formatta çıkarır. Bunun yanında backup dosyanızı gzip ile sıkıştırarak ve bir dosya içerisinde oluşturmak için kullanılır. -Fd şeklinde kullanabilir .
- t veya tar: Pg_restore için uygun özel formatta çıkarır. Bunun yanında backup dosyanızı tar ile sıkıştırarak ve bir dosya içerisinde oluşturmak için kullanılır. Tar dosyasını açarken 3 parça halinde çıktı verir . Bu çıktıların uzantısı”.sql”,”.dat” şeklindedir. -Fd şeklinde kullanabilir .
- -I veya –index: Belirtilen indexi geri yüklemek için kullanılır.
- -j veya –jobs :Restore işlemi yapılırken paralel şekilde yedeği dönmek için kullanılır.
- -n veya –schema :Restore işlemi yapılırken belirtilen şema veya şemaları restore etmek için kullanılır.
- -N veya –exclude-schema: Belirtilen şemaları restore etmez.
- -O veya –no-owner: Restore edilen nesnenin ownerını değiştirmek için kullanılır.
- -P veya –function : Belirtilen function’ı restore etmek için kullanılır.
- -R veya –no-reconnect : Eski sürümler için geçerlidir.
- -s veya –schema-only: Belirtilen şemanın datasını olmadan (create scriptleri) restore etmek için kullanılır.
- -t veya table: Belirtilen tabloları restore etmek için kullanılır.
- -T veya –trigger : Belirtilen triggerları geri yüklemek için kullanılır.
- -v veya –verbose: Ayrıntılı log görmek için kullanılır.
- -x veya –no-priveleges veya –no-acl: Yetkileri ve ayrıcalıkları geri yüklenmesi istenilmediği durumlarda kullanılır.
- –no-tablespaces: Belirtilen tablespace geri yüklememek için kullanılır.
- –strict-names: Restore sırasında şema ve tablolardan en az birinin eşleşmesi durumunda geri yüklemek için kullanılır.
Örnek restore komutu aşağıdaki gibidir. Yukarıdaki parametreleri ihtiyaç olduğu sürece restore scripti içerisine ekleyebilir ve restore işlemi yapabilirsiniz.
pg_restore -h 192.168.33.132 --dbname=farukerdem_com --verbose /var/lib/psql/13/backups/farukerdem_com.dump