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

如何在DigitalOcean托管PostgreSQL数据库中设置LC_COLLATE?

解决DigitalOcean托管PostgreSQL集群设置LC_COLLATE的问题

由于DigitalOcean的托管PostgreSQL控制台不支持直接指定LC_COLLATE创建数据库,而PostgreSQL不允许在数据库创建后修改该参数,你可以通过以下方式处理:

  • 通过SQL命令自定义创建数据库

    1. 使用psql或任意SQL客户端连接到你的集群。
    2. 先确认目标排序规则(collation)是否在集群中可用:
      SELECT name FROM pg_collation;
      
    3. 借助template0模板创建数据库(template1继承了集群默认排序规则,无法直接覆盖),示例命令:
      CREATE DATABASE your_target_db
      WITH
      OWNER = your_db_user
      ENCODING = 'UTF8'
      LC_COLLATE = 'your_desired_collation'
      LC_CTYPE = 'your_desired_collation'
      TEMPLATE = template0;
      
      注意:LC_COLLATE与LC_CTYPE通常需保持一致,且必须与数据库编码兼容。
  • 若目标排序规则未安装
    如果所需的collation不在集群可用列表中,由于DigitalOcean托管集群不允许用户自行安装系统级语言包,你需要联系其支持团队,请求在集群所在服务器上安装对应locale包,之后才能使用该规则创建数据库。

  • 极端方案:重新创建集群
    若上述方法都无法实现,你只能新建一个托管集群,在创建流程中指定所需的默认locale(该设置会决定集群的LC_COLLATE和LC_CTYPE),之后再迁移现有数据到新集群。

内容的提问来源于stack exchange,提问作者Pablo Alexis Domínguez Grau

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 22:05:07