如何在DataGrip中配置货币显示?解决money类型显示异常问题
解决DataGrip中PostgreSQL money类型显示问号及pg_dump COPY命令解析失败问题
方案1:关闭货币符号显示,直接显示纯数值
- 打开DataGrip设置(快捷键
Ctrl+Alt+S或通过File → Settings) - 导航到 Database → Data Views → Formatters
- 在列表中找到
money类型的格式化规则 - 将格式设置改为 Plain numeric(纯数值模式),或者取消勾选显示货币符号的选项
- 保存设置后重新加载数据,money字段将只显示数值,不会带符号或问号
方案2:配置正确的区域设置,显示对应货币符号
数据库端配置(PostgreSQL)
- 修改PostgreSQL配置文件
postgresql.conf,设置lc_monetary = '你的本地区域编码'(比如中文环境用zh_CN.UTF-8,英文环境用en_US.UTF-8) - 重启PostgreSQL服务使配置生效
- 或者在DataGrip的数据库连接配置中,添加连接参数:
- 打开连接设置,切换到 Advanced 标签
- 点击
+添加新属性,键为lc_monetary,值为你的目标区域编码
DataGrip端匹配区域设置
- 打开DataGrip设置,导航到 Appearance & Behavior → Appearance
- 在 UI Options 中设置
Locale为与数据库lc_monetary匹配的区域(比如Chinese (Simplified, China)) - 重启DataGrip后,money字段将显示对应区域的货币符号,不再出现问号
关于pg_dump COPY命令的补充说明
如果当前导出的内容已经是some_num ?格式导致解析失败,可以:
- 先按上述方案修复DataGrip的显示/格式化设置,再重新导出数据
- 或者直接使用PostgreSQL原生的
pg_dump命令导出,绕过DataGrip的格式化逻辑,确保导出的money类型数据符合数据库的原生格式
内容的提问来源于stack exchange,提问作者Dorialean
相关产品推荐
相关产品推荐

