Comma Separated Values (CSV): (Virgül ile ayrılmış değerler dosyası). Bir veri listesi
içeren düz metin dosyasıdır. Genellikle farklı uygulamalar arasında veri alışverişinde
kullanılırlar. Veritabanları çoğunlukla CSV dosyalarını desteklemektedir.
Öncelikle veritabanımızda personel isimli tabloyu create ediyoruz.
CREATE TABLE personel ( id INT, ad VARCHAR(50), soyad VARCHAR(50), sehir VARCHAR(255), PRIMARY KEY (id) ) ;

İkinci olarak belirtilen formatta bir CSV dosyası hazırlıyoruz.
Dosyayı windowsta Excel’de hazırladık. Linux’ta istediğimiz dizine almak için
alternatifler şu şekildedir.
1. Alternatif
Postgresql dizininde pwd komutunu çalıştırıp bulunduğumuz full path’i kopyalıyoruz.

Mobaxterm programında kopyaladığımız dizini işaretlediğimiz yere yapıştırıp o dizinin
altına gidiyoruz.

İşaretlediğimiz yere tıklayıp csv formatındaki dosyayı seçiyoruz ve böylelikle istediğimiz
dizinin altına dosyayı kopyalamış oluyoruz.
Aşağıdaki komutları çalıştırıp gerekli izin ve sahiplikleri düzenliyoruz. (Dizinler
düzenlenebilir.)
chown postgres:postgres /var/lib/pgsql/personnel.csv
2. Alternatif
WinSCP (windows secure copy) kullanılarak windows ile linux arasında veri transferi
yapılabilir.
Import
Dosyanın bulunduğu dizini kullanarak aşağıdaki komutu çalıştırıyoruz. Böylelikle csv
dosyasında virgül (,) ile ayrılan değerleri tabloya import etmiş oluyoruz.
COPY staff FROM '/var/lib/pgsql/personnel.csv' DELIMITER ',' CSV HEADER; # To check SELECT * FROM staff ;
Export
İlk olarak belirttiğimiz dizinde .csv uzantısı ile dosya oluşturuyoruz. İzin ve sahipliklerini
tanımlıyoruz.
touch personel.csv chown postgres:postgres personel.csv
İkinci olarak tablodaki verilerin ‘,’ formatı ile dizindeki dosyaya kopyalanması için
aşağıdaki komutu çalıştırıyoruz.
COPY staff TO '/var/lib/pgsql/personnel.csv' DELIMITER ',' CSV HEADER;
**cat komutu ile dosyanın içini okuduğumuzda verileri görebiliriz.
Dosyayı windows tarafına almak için yine WinSCP programından ya da Mobaxterm
programından faydalanabiliriz.

Mobaxtermde; windows tarafına almak istediğimiz dosyayı seçtikten sonra
işaretlediğimiz butona tıklıyoruz.
Tablonun Bazi Kolonlarını Export Etmek
COPY personel (id, ad, soyad) TO ‘/var/lib/pgsql/personeller.csv’ DELIMITER ‘,’ CSV HEADER;
Tablonun Sütun Adlarını İçeren Başlığı Export Etmemek
COPY personel(ad,soyad) TO ‘/var/lib/pgsql/ad_soyad.csv’ DELIMITER ‘,’ CSV;
(ad_soyad.csv adlı dosyayı Linux’ta oluşturduk. Kopyalama işleminden sonra
dosyayı windows tarafına alabilirsiniz.)
