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

MacOS下PostgreSQL指定nb_NO.UTF-8 locale建库报错及解决问询

解决MacOS上PostgreSQL创建数据库时的nb_NO.UTF-8 locale错误

我之前也遇到过这个问题,MacOS确实没有Linux上的locale-gen命令,但我们可以用系统自带的localedef工具来生成需要的locale,具体步骤如下:

1. 检查系统已支持的locale

首先打开终端,确认你的Mac上有没有现成的挪威语UTF-8 locale:

locale -a

在输出里查找nb_NO.UTF-8或nb_NO相关的条目。如果找不到,就需要手动生成。

2. 用localedef生成目标locale

执行以下命令(需要管理员权限,输入你的用户密码即可):

sudo localedef -i nb_NO -f UTF-8 nb_NO.UTF-8

这个命令的参数含义:

  • -i nb_NO:指定使用书面挪威语的locale定义
  • -f UTF-8:指定编码格式为UTF-8
  • 末尾的nb_NO.UTF-8是生成的locale名称,和你PostgreSQL命令中需要的完全匹配

3. 验证生成结果

再次执行locale -a,如果输出里出现了nb_NO.UTF-8,说明生成成功。

4. 重新执行PostgreSQL创建命令

现在回到PostgreSQL,重新运行你的创建数据库脚本:

CREATE DATABASE test OWNER dba TEMPLATE template0 ENCODING 'UTF-8' LC_COLLATE 'nb_NO.UTF-8' LC_CTYPE 'nb_NO.UTF-8';

这次应该就能顺利创建数据库了。

如果临时不需要严格的挪威语排序规则,也可以用MacOS自带的C.UTF-8替代,但如果必须遵循挪威语的字符处理规则,上面的方法是最直接的解决方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 18:22:45