CSV’nin gücüyle Postgres verilerinizi yedekleyin, başka bir yere aktarın ve gerektiğinde içe aktarın.

PostgreSQL'de CSV Verilerini İçe ve Dışa Aktarma

CSV dosyaları, veri depolama sürecini basitleştirir. Biçim satır ve sütun tabanlı olduğundan, CSV ilişkisel bir veritabanına iyi bir şekilde çevrilir.

Bir CSV dosyasını bir veritabanına almak ve bir veritabanından bir CSV dosyasına aktarmak kolaydır. PostgreSQL ile bunu yapmak için kullanabileceğiniz birkaç farklı teknik vardır.

CSV Dosyası Oluşturun

Kendi CSV dosyanızı oluşturmak için kullanabileceğiniz bazı örnek CSV verileri :

id,firstname,lastname,email

1,Riannon,Pulsifer,Riannon.Pulsifer@example.com

2,Moyna,Palocz,Moyna.Palocz@example.com

3,Roslyn,Bearnard,Roslyn.Bearnard@example.com

4,Gloria,Aldric,Gloria.Aldric@example.com

5,Felice,Greenwald,Felice.Greenwald@example.com

CSV dosyasını PostgreSQL veritabanına aktarmadan önce, CSV dosya biçimiyle eşleşen bir tablo oluşturmanız gerekecektir. Postgres tablosu oluşturmak için aşağıdaki kodu kullanın.

CREATE TABLE employees(id int NOT NULL,

                       firstname char(20),

                       lastname char(20),

                       email char(50));

CSV Dosyalarını PostgreSQL’e Aktarın

CSV dosyalarını sunucudaki veya istemci makinedeki bir Postgres tablosuna aktarabilirsiniz.

Sunucu Tarafında CSV Dosyalarını İçe Aktarın

Bir CSV dosyasını bir PostgreSQL sunucusuna aktarmak için PostgreSQL COPY komutunu ve FROM anahtar sözcüğünü kullanın. Bu, yapının eşleşmesi koşuluyla, bir CSV dosyasındaki verileri bir Postgres tablosuna kopyalamanıza olanak tanır. Örnek CSV dosyasını çalışanlar tablosuna kopyalamak için aşağıdaki kodu kullanın:

COPY employees(id,firstname,lastname,email)

FROM ‘/tmp/sample.csv’

DELIMITER ‘,’

CSV HEADER;

Yukarıdaki örnekteki yol mutlaktır. İsterseniz Postgres veri dizininize göre bir yol kullanabilirsiniz.

Verileri başlıklarla veya başlıklar olmadan kopyalayabilirsiniz, bu nedenle ihtiyacınız yoksa son kod satırını atlamaktan çekinmeyin.

İstemci Tarafında CSV Dosyalarını İçe Aktarın

Bir istemci makinede, CSV dosyasını içe aktarmak için psql copy komutunu kullanın. Örnek CSV dosyasını çalışanlar tablosuna kopyalamak için psql komut isteminde aşağıdaki kodu çalıştırın.

copy employees FROM ‘/tmp/sample.csv’ DELIMITER ‘,’ CSV HEADER;

PostgreSQL’den CSV Dosyalarını Dışa Aktarma

İçe aktarmada olduğu gibi, bir CSV dosyasını sunucu tarafında veya istemci tarafında da dışa aktarabilirsiniz.

Sunucu Tarafında CSV Dosyalarını Dışa Aktarma

Verileri bir CSV dosyasına aktarmak için COPY komutunu ve TO anahtar sözcüğünü kullanın. Kaynak tabloyu ve hedef dosyanın yolunu belirtmeniz gerekir. Bu sefer, yol mutlak olmalıdır:

COPY employees TO ‘/tmp/employees.csv’ CSV HEADER;

Veritabanından yalnızca bazı satırları dışa aktarmanız gerekiyorsa, SELECT komutunu aşağıdaki gibi kullanın:

COPY (SELECT * FROM employees where firstname=’Moyna’) TO ‘/tmp/employees-moyna.csv’ CSV HEADER;

CSV Dosyalarını İstemci Tarafında Dışa Aktarın

Verileri istemci tarafında dışa aktarmak için psql komut isteminde copy komutunu ve TO anahtar sözcüğünü kullanın:

copy employees TO ‘path-to-file.csv’ CSV header;

Veritabanı Bağdaştırıcısı Kullanma

Bir CSV dosyasını içe aktarmak için terminali kullanmanız gerekmez. Tercih ettiğiniz programlama dilini kullanarak verileri bir imleç nesnesi aracılığıyla içe aktarabilirsiniz. Örneğin Python ile çalışıyorsanız PostgreSQL sunucusuna bağlanıp COPY komutunu çalıştırabilirsiniz.

Bunun için psycopg2 gibi bir veritabanı bağdaştırıcısı aracılığıyla Python’u Postgres’e bağlamanız gerekir.

pip install psycopg2

Aşağıdaki kodu kullanarak veritabanına bağlanın:

import psycopg2;

connection = psycopg.connect(

    database=”employee_db”,

    host=”localhost”

    user=”postgres”,

    password=”password”,

)

Ardından bir imleç nesnesi oluşturun ve bunu COPY komutunu yürütmek için kullanın:

cursor = connection.cursor()

cursor.execute(

“COPY employees(id,firstname,lastname,email)

FROM ‘/tmp/sample.csv’

DELIMITER ‘,’

CSV HEADER;”

)

connection.close()

PostgreSQL Verilerinizi CSV Kolaylığıyla Yönetin

PostgreSQL ve CSV dosyalarını kullanarak verileri içe ve dışa aktarmak basit bir işlemdir. İstemcide veya sunucuda psql komutlarını kullanabilir veya programlı olarak bir veritabanı bağdaştırıcısı kullanabilirsiniz.

Daha çok bir GUI kullanıcısıysanız, pgAdmin aracını kullanmayı düşünün. Verileri daha da kolay içe ve dışa aktarmanıza yardımcı olabilecek açık kaynaklı bir GUI uygulamasıdır.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir