25 Şubat 2014 Salı

PostgreSQL sorgusunu CSV formatında dosyaya yazma

PostgreSQL'de bir sorgunun çıktısını CSV olarak dosyaya yazmak için COPY komutu kullanılır.

db=# COPY (SELECT remoteip,retval FROM mailrecs WHERE retval >0 ) TO '/tmp/log.txt' With CSV;
COPY 427571

Çıktı , ile ayrılmış olarak aşağıdaki formatta dosyaya yazılacaktır.

# more /tmp/log.txt
192.168.1.10,2
10.0.0.100,4
..

 ',' ayracı yerine başka bir ayraç kullanmak isterseniz DELIMITER parametresi kullanılır.


db=# COPY (SELECT remoteip,retval FROM mailrecs WHERE retval >0 ) TO '/tmp/log.txt' With DELIMITER ';' CSV;  
Tüm tabloyu kopyalamak için ise aşağıdaki sorgu kullanılır.

db=# COPY mailrecs TO '/tmp/tablodump';

Aşağıdaki adresten diğer örnekleri de görebilirsiniz.


http://www.gistutor.com/postgresqlpostgis/10-intermediate-postgresqlpostgis-tutorials/39-how-to-import-or-export-a-csv-file-using-postgresql-copy-to-and-copy-from-queries.html

Hiç yorum yok:

Yorum Gönder