我有一个大约10GB的XML文件,我不知道文件的内容,但我想将其导入数据库以使其易于查看。
如何将xml文件导入到PostgreSQL数据库? (这么大的文件有可能吗?)
我希望你们能帮助我:)
答案 0 :(得分:0)
将XML文件转换为CSV文件。 另外,在转换时,请将其拆分为100Mb-1Gb的部分,以方便批处理。
使用在CSV文件中定义的列创建表。
使用COPY命令将文件上传到Postgres。 这是我知道的上传大量数据的最快方法。 顺便说一句,它也可以使用CopyManager类从Java完成。
根据要执行的查询的类型,您想创建索引:
这将是最耗时的部分。但是,您可以使用CREATE INDEX CONCURRENTLY。在后台创建索引时,它将允许您使用表。
如果重复导入过程并且已经创建了表和索引,请在发出COPY命令之前先删除索引,然后再重新创建它们。这样可以节省您很多时间。
如果您仍然对查询的速度或索引创建的速度不满意,那么最好改用Clickhouse。但是,这取决于您执行哪种查询。