将简单的XML文件加载到Postgres

ADJ*_*ADJ 1 xml postgresql parsing load

我有一个具有简单xml结构的文件,希望将其加载到Postgres表中。

<rows>
<field name="id">1</field>
<field name="age">75-84</field>
<field name="gndr">F</field>
<field name="inc">32000-47999</field>
</rows>
Run Code Online (Sandbox Code Playgroud)

有一个简单的方法吗?

Erw*_*ter 5

好吧,可以做到的。我不久前出于相同的目的编写了一个完整的函数:

我使用pg_read_file()将整个文件读入plpgsql中的变量,然后从那里开始。这有一些限制:

只能访问数据库集群目录和log_directory中的文件。为群集目录中的文件使用相对路径,为日志文件使用与log_directory配置设置匹配的路径。这些功能仅限于超级用户使用。

但是我列出了替代方案。

如果您可以将XML文件转换为JSON,它将变得更加简单。有很多可用的工具

从Postgres 9.3开始,您对json数据类型获得了很好的支持。
更好的是,使用jsonbPostgres 9.4+中的数据类型。