Saya memiliki kolom dengan tipe "bytea" di tabel. Dalam kasus saya itu hanya file .txt. Apakah ada cara yang baik untuk membaca file ini baris demi baris dan menyisipkan setiap baris di tabel lain?

1
xxx_coder_noscope 10 Juli 2020, 15:06

1 menjawab

Jawaban Terbaik
  1. encode(colname, 'escape') mengubah kolom menjadi teks yang lolos
  2. string_to_array membaginya menjadi larik text[]
  3. unnest() mengubah array menjadi baris
  4. cross join lateral diperlukan untuk menggunakan with ordinality untuk mendapatkan rnum
select id, rnum, tline 
  from your_table 
 cross join lateral unnest(
                      string_to_array(encode(stuff, 'escape'), E'\n')
                    ) with ordinality x(tline, rnum)
 order by id, rnum;
2
Mike Organek 10 Juli 2020, 17:02