PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Mengimpor file CSV zip ke PostgreSQL

Ada trik lama untuk menggunakan pipa bernama (berfungsi di Unix, tidak tahu tentang Windows)

  • buat pipa bernama:mkfifo /tmp/omyfifo
  • tulis isi file ke dalamnya:zcat mycsv.csv.z > /tmp/omyfifo &
  • [dari psql] copy mytable(col1,...) from '/tmp/omyfifo'
  • [setelah selesai] :rm /tmp/omyfifo

zcat di backgound akan memblokir sampai pembaca (di sini:COPY command) akan mulai membaca, dan akan selesai pada EOF. (atau jika pembaca menutup pipa)

Anda bahkan dapat memulai beberapa pasangan pipa+zcat, yang akan diambil oleh beberapa COPY pernyataan dalam skrip sql Anda.

Ini akan bekerja dari pgadmin, tetapi fifo (proses +zcat) harus ada di mesin tempat server DBMS berjalan.

BTW:trik serupa menggunakan netcat dapat digunakan untuk membaca file dari mesin jarak jauh (yang tentu saja harus menulis file ke soket jaringan)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menulis ke skema tertentu dengan RPostgreSQL

  2. Permintaan PostgreSQL untuk menghitung/mengelompokkan berdasarkan hari dan menampilkan hari tanpa data

  3. Cara Menjeda Eksekusi Pernyataan di PostgreSQL

  4. Postgresql Stempel waktu saat ini pada Pembaruan

  5. SQL - Buat tampilan dari beberapa tabel