Postgresql Copy komutu txt export

Postgresql Copy komutu txt export,Postgresql de bazı durumlarda text ,csv ,dat dosyalarının export etmek isteyebiliriz. Bunun gibi durumlarda postgresql in bize sunduğu copy komutundan faydalanabiliriz. COPY komutu yardımı ile dosyalarımızı tablolara ekleyebiliriz.

COPY komutunda text,csv,binary  data dosyalarını import edebiliriz.

COPY komutu ile delimeter belirleyerek kolonlar arasını nasıl ayırabiliriz ya da export yaparken zip programı ile sıkıştırmalar yaparak daha az yer kaplamasını sağlayabiliriz.

Bu yazımda postgresql üzerinden psql komutu yardımı ile   tablomuzu csv formatında çıkarmaktan bahsedeceğiz .

İlk olarak makinemizden psql ile bağlantı sağladıktan sonra aşağıdaki gibi komutu çalıştırıyoruz.

COPY film TO '/var/lib/pgsql/13/backups/filmtable.csv' DELIMITER '|';

Yukarıdaki komutu açıklayalım.

COPY film   =  film tablosunu aktarmak için

 

TO ‘/var/lib/pgsql/13/backups/filmtable.csv’  = ” /var/lib/pgsql/13/backups/” dizine ” filmtable.csv” adında import      etmek için kullandık

 

DELIMITER ‘|’    =   kolonlar arasını ” | ” parametresiyle ayırmak için kullanılır.

 

Aşağıdaki görüldüğü gibi 1002 kaydımız aktarıldı.

Yukarıdaki örneğimizde 1002 kaydın aktarıldığını gördük peki daha fazla row a sahip bir tablomuz olsaydı ve dosya boyutunu export ederken sıkıştırmak isteseydik?

Bu durumda bir parametre daha devreye giriyor “TO PROGRAM”  bu komut yardımı ile import sırasında program kullanabiliriz.

Aşağıdaki örneğimizde tablomuzu csv formatında çıkarırken  gzip programı ile sıkıştırıyoruz.

COPY film TO PROGRAM 'gzip > /var/lib/pgsql/13/backups/filmtablecsv.gzip' DELIMITER '|';

Sadece belirli verileri aktarmak istiyorsak copy komutunda sorgu yazabiliriz ve bu sorgumuzun sonucunu dizine aktarabiliriz.

COPY (select*from film where rental_duration=6) TO '/var/lib/pgsql/13/backups/filmtablewhere.csv' DELIMITER '|';

Yukarıdaki örnekte görüldüğü film tablosunda ki rental_duration değeri 6 olanları belirli bir dizine aktardık ve bu sorgu sonucunda 212 row u belirttiğimiz dizindeki belirttiğimiz isimli dosyaya aktarmış bulunuyoruz.

Export işlemlerini gerçekleştirdik.

Peki import işlemini nasıl yapacağız? Bunun için import ile ilgili Postgresql Copy komutu ile import yazımı okuyabilirsiniz.

 

 

Loading