PostgreSQL / copy用于插入枚举值

时间:2018-07-08 19:28:06

标签: postgresql enums postgresql-9.5

假设我有一个枚举:Sub Try() Const NUM_ROWS As Long = 14 Dim n As Long, i As Long i = 2 for n = 1 to 5 Sheets("Yasheet").Cells(2, n).Resize(NUM_ROWS, 1).Copy _ Sheets("Sheet1").Cells(i, 2) i = i + NUM_ROWS Next n ActiveWorkbook.Save End Sub 还有我表中CREATE TYPE foo AS ENUM ('a', 'b', 'c')类型的列。

假设我要插入一个.tsv文件,该文件具有作为字符串foo"a""b"的枚举列的值,那么最有效的方法是去做那个?

我这里有大约9000万行,因此将它们一一插入可能会非常慢。

1 个答案:

答案 0 :(得分:0)

Postgres提供了COPY命令,用于从文件导入数据。如果文件中的字符串完全是作为枚举成员写的,则应该可以立即使用。

COPY elbat
     (nmuloc_1,
      ...,
      nmuloc_n)
     FROM '/path/to/file.tsv';