2011-10-27 20 views
27

İki sütun içeren bir CSV dosyasına sahibim: şehir ve posta kodu. Bu dosyayı copy komutunu kullanarak bir PostgreSQL tablosuna kopyalamak ve aynı zamanda otomatik olarak id değerini üretmek istiyorum.PostgreSQL kopyalama komutu birincil anahtar kimliği oluştur

Tablo aşağıdaki sütunlara sahiptir: id, city ve zipcode.

Benim CSV dosyamda yalnızca: city ve zipcode bulunur.

cevap

43

COPY command tablo id için serial sütun kullanıyorsa kendisi tarafından tüm yapmalıyım: Sütun listesinde olmayan Tabloda herhangi sütunlar varsa, ekleyecektir GELEN

KOPYALAMAYIN Bu sütunlar için varsayılan değerler.

copy table_name(city, zipcode) from ... 

ve id zamanki gibi oluşturulur:

Yani söylemek gerekir. id için serial sütununa (veya el ile eklenmiş bir diziye) sahip değilseniz, bir diziyi elinizle bağlayabilir, COPY'nizi yapabilir ve sonra diziyi ayırabilirsiniz.

+0

Verileri CSV'den Postgres'e şu şekilde kopyaladım: \ copy company_infos (e-posta, url, created_at, updated_at) FROM '/Users/john/company_infos_heroku4.csv' WITH (FORMAT CSV, HEADER true); – yaru

İlgili konular