用于插入枚举值的 Postgresql /copy

Postgresql /copy for inserting enum value

假设我有一个枚举:CREATE TYPE foo AS ENUM ('a', 'b', 'c') 在我的 table 中有一列类型为 foo

假设我想插入一个 .tsv 文件,作为对应于枚举列的值字符串 "a""b""c",什么是最有效的怎么做?

我这里有大约 9000 万行,所以一个接一个地插入它们可能会慢得多。

Postgres 提供 COPY 命令用于从文件导入数据。如果文件中的字符串与枚举成员完全相同,那么这应该是开箱即用的。

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