файл для запуска постгреса:
# cat docker-compose.yml
version: '3'
services:
database:
image: 'postgres:latest'
volumes:
- /var/db/postgresql/db-data:/db-data
- /var/logs/docker-compose:/pg-logs
ports:
- 5432:5432
environment:
POSTGRES_USER: dba
POSTGRES_PASSWORD: 'пароль не скажу'
POSTGRES_DB: postgresdb
PGDATA: /db-data
PG_MODE: master
При запуске и создании базы без указания локализации, создаются базы с английской локалью.
postgresdb=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
------------+-------+----------+------------+------------+-------------------
postgres | dba | UTF8 | en_US.utf8 | en_US.utf8 |
postgresdb | dba | UTF8 | en_US.utf8 | en_US.utf8 |
template0 | dba | UTF8 | en_US.utf8 | en_US.utf8 | =c/dba +
| | | | | dba=CTc/dba
template1 | dba | UTF8 | en_US.utf8 | en_US.utf8 | =c/dba +
| | | | | dba=CTc/dba
test1 | dba | UTF8 | en_US.utf8 | en_US.utf8 |
(5 rows)
Попробовал указать
DB_LOCALE: 'ru_RU.utf8'
LANG: 'ru_RU.utf8'
LANGUAGE: 'ru_RU.utf8'
LC_COLLATE: 'ru_RU.utf8'
LC_CTYPE: 'ru_RU.utf8'
LC_TIME: 'ru_RU.utf8'
LC_MONETARY: 'ru_RU.utf8'
LC_MESSAGES: 'ru_RU.utf8'
LC_PAPER: 'ru_RU.utf8'
LC_NAME: 'ru_RU.utf8'
LC_ADDRESS: 'ru_RU.utf8'
LC_TELEPHONE: 'ru_RU.utf8'
LC_MEASUREMENT: 'ru_RU.utf8'
LC_IDENTIFICATION: 'ru_RU.utf8'
LC_ALL: 'ru_RU.utf8'
Но ругается, что таких локалей не найдено. Глянул через консоль, что вообще доступно:
root@3176db8e3786:/# locale -a
C
C.UTF-8
en_US.utf8
POSIX
root@3176db8e3786:/#
Как то добавить русскую локаль можно?
P.S. Не стреляйте в пианиста, докера тыкаю пальцем всего неделю, а композера увидел первый раз только вчера
Пересобрать контейнер с постгрей и установить туда нужные локали
https://www.postgresql.org/docs/current/app-initdb.html тебе сюда
Обсуждают сегодня