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

Cevap