小编Phi*_*ipp的帖子

Docker PostgreSQL 将数据库编码更改为 UTF-8

我想通过 docker-compose 运行一个 postgres 容器,该容器具有 COLLATE 和 CTYPE 'C' 以及数据库编码 'UTF-8'。但这看起来是不可能的。

这是 docker-compose.yml 上的部分:

database:
    image: postgres:latest
    volumes:
        - db:/var/lib/postgresql/data
    environment:
        POSTGRES_PASSWORD: test
        LC_COLLATE: C
        LC_CTYPE: C
        LANG: C.UTF-8
Run Code Online (Sandbox Code Playgroud)

这是日志输出:

The database cluster will be initialized with locales.
The default text search configuration will be set to "english".
  COLLATE:  C
  CTYPE:    C
  MESSAGES: C.UTF-8
  MONETARY: C.UTF-8
  NUMERIC:  C.UTF-8
  TIME:     C.UTF-8
The default database encoding has accordingly been set to "SQL_ASCII".
Run Code Online (Sandbox Code Playgroud)

我必须将数据库编码设置为 UTF-8,并将 COLLATE 和 CTYPE 设置为“C”而不是“C.UTF-8”,否则从属应用程序将无法连接。

我在任何文档或其他任何地方都没有找到任何内容。

postgresql docker docker-compose

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

docker ×1

docker-compose ×1

postgresql ×1