Vesta Control Panel - Forum

Community Forum

Skip to content

Advanced search
  • Quick links
    • Main site
    • Github repo
    • Google Search
  • FAQ
  • Login
  • Register
  • Board index Language specific forums Russian (Русский) Сервер баз данных
  • Search

Смена кодировки PostgreSQL на UTF8

Вопросы по работе Сервера баз данных
MySQL, PostgreSQL, MariaDB, Percona Server, phpMyAdmin, phpPgAdmin
Post Reply
  • Print view
Advanced search
4 posts • Page 1 of 1
popcornphp
Posts: 3
Joined: Fri Dec 16, 2016 3:46 pm

Os: Ubuntu 15x
Web: apache + nginx
Смена кодировки PostgreSQL на UTF8
  • Quote

Post by popcornphp » Fri Dec 16, 2016 3:58 pm

Добрый день. Делаю миграцию, а тут такая ошибка:
in encoding "UTF8" has no equivalent in encoding "LATIN1"
Image

Прежде решал её таким образом:

Code: Select all

$ sudo pg_dropcluster --stop 9.5 main
$ sudo pg_createcluster --locale en_US.UTF-8 --start 9.5 main
Но сейчас, этим способом, я снес всю базу данных и VestaCP выдает ошибку "Error: Connection to localhost failed". Можно перевести базу в UTF8, не затронув работоспособность?

Спасибо
Top

skurudo
VestaCP Team
Posts: 8099
Joined: Fri Dec 26, 2014 2:23 pm
Contact:
Contact skurudo
Website Facebook Google+ Skype
Twitter

Re: Смена кодировки PostgreSQL на UTF8
  • Quote

Post by skurudo » Mon Mar 20, 2017 3:53 pm

Стоит попробовать вот эти решения:
http://stackoverflow.com/questions/3692 ... n-postgres
Top

LAlf
Posts: 19
Joined: Sat Feb 04, 2017 11:02 pm

Re: Смена кодировки PostgreSQL на UTF8
  • Quote

Post by LAlf » Sat Mar 17, 2018 11:33 am

Собственно возникла такая же проблема (как на скрине из стартпоста) на последней версии vestacp (ubuntu 16.04).
Заметил, что после установки весты не сменились локали, везде тупо "en_US", а не "en_US.UTF-8".
При создании БД из панели выбирается кодировка utf-8, но это никак не помогает, т.к. в phppgadmin в столбце "кодировка" у БД всё равно LATIN1.
Подозреваю, что это из-за того, что по дефолу веста не ставит дефолтную кодировку в системе при установке или она сбрасывается каким-то магическим образом + сам образ убунты у хостера какой-то "некорректный" для весты, т.к. у другого хостера вроде бы таких проблем не было (проверил - у другого хостера всё ок). Смена кодировок при подключении через PHP PDO не помогает вообще.

Вообщем, хотелось бы чтоб команда весты проверила это недоразумение и пофиксила в следующих релизах такое поведение, чтоб не были базы в LATIN1, т.к. это ну уж совсем проблемно исправлять (через удаление и восстановление кластера и прочие похожие махинации).
Last edited by LAlf on Sat Mar 17, 2018 12:35 pm, edited 1 time in total.
Top

LAlf
Posts: 19
Joined: Sat Feb 04, 2017 11:02 pm

Re: Смена кодировки PostgreSQL на UTF8
  • Quote

Post by LAlf » Sat Mar 17, 2018 12:20 pm

Вроде как помогла смена кодировки на пустой базе (до заполнения, сразу после создания) с помощью следующих команд в ssh:

Code: Select all

su postgres
psql --command="update pg_database set encoding = pg_char_to_encoding('UTF8') where datname = '[DATABASE_NAME]';"
PS: да, всё ок при таком подходе на пустой базе. Но отмечу ещё отдельно, что если база уже заполнена - только через дамп, чтоб избежать порчи данных. Способ тут нашел если что: https://stackoverflow.com/questions/509 ... s-database
Top


Post Reply
  • Print view

4 posts • Page 1 of 1

Return to “Сервер баз данных”



  • Board index
  • All times are UTC
  • Delete all board cookies
  • The team
Powered by phpBB® Forum Software © phpBB Limited
*Original Author: Brad Veryard
*Updated to 3.2 by MannixMD
 

 

Login  •  Register

I forgot my password