Siz öyle deyince acaba biyerde yanlış mı yapıyorum dedim.
Böyle alıyorum tabloları (postgres kullanıcısı olarak);
psql -d tabanverisi -c "\dt" | egrep "^ public" | awk -F"|" '{print $2}' >
tabloliste; for i in $(cat tabloliste); do echo $i;pg_dump -d tabanverisi -F c
-Z 9 -n public -t $i -f $i.dump;done
Sonra tek tek tablolar (keylerin sıralarına göre) pg_restore...
Saygılar
Emre ERSİN
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Devrim GÜNDÜZ
Sent: Thursday, February 25, 2010 3:31 PM
To: [email protected]
Subject: [Linux-sunucu] Re: pgsql backup
On Thu, 2010-02-25 at 14:27 +0200, Emre Ersin wrote:
> Tam olarak tek bir veritabanını yedek alıp tekrar kurmanın yolu nedir?
> Yeni sunucu kurmam gerektiğinde; tabloları ayrı ayrı alıp öncelik
> sırasına göre tekrar yüklemekten gına geldi. Nedir? Ne yapmam gerek?
Ben asıl tabloları teker teker nasıl yedeklediğinizi merak ettim ;) Zoru
başarmışsınız.
pg_dump ile tek bir veritabanını, pg_dumpall ile tüm veritabanlarını ve global
nesneleri yedekleyebilirsiniz.
Burada global nesneler kısmı önemli. pg_dump ile yedek alıp da sonradan sıkıntı
yaşanmasının nedeni, global nesnelerin eksikliği. Bunlar roller ve
tablespaceler. pg_dumpall'u -g ile kullanıp sadece global nesneleri yedekleyip
sonra da her veritabanının yedeğini ayrı ayrı yükleyebilirsiniz.
pg_dump'a -Fc parametresini verip custom formatta yedek alabilirsiniz.
Bunun avantajı daha az yer kaplayan bir yedek olması. Ayrıca pg_restore ile
yüklersen sadece belirli bir kısmı yükleme şansınız da var (TOC çıkartıyor bir
güzel). Dezavantajı sadece pg_restore ile yüklenmesi.
pg_dump normalde text dump alır ve sadece psql gibi SQL komutlarını
çalıştırabileceğiniz bir araçla yüklenir. pg_restore ile text dump yüklenemez
yani.
pg_dumpall her halikarda text dump alır -- onu da belirteyim.
İyi çalışmalar,
--
Devrim GÜNDÜZ, RHCE
PostgreSQL Danışmanı/Consultant, Red Hat Certified Engineer devrim~gunduz.org,
devrim~PostgreSQL.org, devrim.gunduz~linux.org.tr http://www.gunduz.org
Twitter: http://twitter.com/devrimgunduz
Email secured by Check Point
_______________________________________________
Linux-sunucu E-Posta Listesi
[email protected]
Liste kurallarını http://liste.linux.org.tr/kurallar.php bağlantısından
okuyabilirsiniz;
Bu Listede neden bulunduğunuzu bilmiyorsanız veya artık bu listeden gelen
e-postaları almak istemiyorsanız aşağıdaki bağlantı adresini kullanarak 1
dakika içinde üyeliğinizi sonlandırabilirsiniz.
http://liste.linux.org.tr/mailman/listinfo/linux-sunucu