You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在CSV/TSV文件中格式化text array和hstore数据以导入Postgres

Postgres TSV导入text array与hstore语法规范

错误原因对应

  • 报错ERROR: Syntax error near '}' at position 667:hstore格式多了外层不必要的{}
  • 报错ERROR: malformed array literal: "" Detail: Array value must start with "{" or dimension information.:array字段传入了空字符串,不符合array字面量要求

text array 语法要求

  • 基础格式:必须用{}包裹所有元素,元素包含空格、逗号、双引号等特殊字符时,必须用双引号括起。你当前使用的{hello, world}包含空格,正确写法为{hello,"world"},所有元素统一加双引号{"hello","world"}兼容性更高。
  • 空值处理:空数组填{},字段为NULL时明确填NULL,禁止填空字符串。
  • 转义规则:元素本身包含双引号时,用两个双引号转义,示例:元素为test "abc",对应array写法为{"test ""abc"""}。

hstore 语法要求

  • 基础格式:不要在外层加{},键必须用双引号包裹,值为字符串时也用双引号包裹,=>前后不要留多余空格。你当前使用的{"hello" => "world", "goodbye" => "world"}格式错误,正确写法为"hello"=>"world","goodbye"=>"world"。
  • 空值处理:空hstore填'',字段为NULL时填NULL。
  • 转义规则:值包含双引号时用两个双引号转义,示例:值为say "hi",对应写法为"greet"=>"say ""hi"""。

TSV导入工具适配(Goland/Postico 2)

  • 整个array/hstore字段如果包含制表符、换行符,需要用双引号把整段字面量括起来,避免工具误拆分字段。
  • 导入向导中确认字段类型映射:array字段对应text[],hstore字段对应hstore,不要使用默认字符串类型。
  • Postico 2导入时开启「将字符串字面量解析为Postgres类型」选项;Goland数据库导入向导中勾选「使用Postgres语法解析复杂类型」。

内容的提问来源于stack exchange,提问作者eggroll

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 01:06:04