高效的数据导入 PostgreSQL DB

Efficient data import PostgreSQL DB

我刚刚设计了一个 Pg 数据库,需要选择一种用数据填充我的数据库的方式,数据由 txt 和 csv 文件组成,但通常可以是任何类型的包含带分隔符的字符的文件,我正在编程java 为了使数据具有相同的结构(有很多不同类型的文件,我需要找到文件的每一列代表什么,以便我可以将它与我的数据库的一列相关联)我想到了两种方式:

在时间效率方面,您会选择哪个?我有点想使用第一个,因为在数据库中处理 json 文件会更容易。 如果您有任何其他建议,也欢迎!

JSON 或 CSV

如果您可以自由地将数据转换为 CSV 或 JSON 格式,可以选择 CSV。这是因为您随后将能够使用 COPY FROM 将大量数据一次批量加载到 postgresql 中。

COPY 支持 CSV,但 JSON 不支持。

直接插入值。

如果您只需要插入几条(甚至几千条)记录但不适合大量记录,因为它会很慢,可以采用这种方法。

如果您选择这种方法,您可以使用 COPY TO 创建备份。但是,如果您觉得需要使用 java 代码创建备份文件。选择 CSV 格式意味着您将能够像上面讨论的那样批量加载。