Форум программистов, компьютерный форум, киберфорум
PostgreSQL
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/64: Рейтинг темы: голосов - 64, средняя оценка - 4.72
0 / 0 / 0
Регистрация: 26.08.2021
Сообщений: 1
1

Изменить кодировку LC_COLLATE

26.08.2021, 15:50. Показов 12815. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго всем дня. Прошу помощи. В БД новичок. Пытаюсь разобраться в боевом режиме.

Инструкция по развертыванию БД по шаблону
PostgreSQL
Общие требования
1. СУБД PostgreSQL должна быть установлена с русской локалью (locale).
При создании базы данных используются категория сортировки (LC_COLLATE) и ка-
тегория типов символов (LC_CTYPE), установленные в шаблоне template0,они долж-
ны быть совместимы с кодировкой UTF8.

После установки Postgresql 13 с русской локалью (locale) на Windows 7 ultimate x64? у меня получается так:
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
-- Database: postgres
 
-- DROP DATABASE postgres;
 
CREATE DATABASE postgres
    WITH 
    OWNER = postgres
    ENCODING = 'UTF8'
    LC_COLLATE = '[B]Russian_Russia.1251[/B]'
    LC_CTYPE = '[B]Russian_Russia.1251[/B]'
    TABLESPACE = pg_default
    CONNECTION LIMIT = -1;
 
COMMENT ON DATABASE postgres
    IS 'default administrative connection database';
Каким образом можно изменить кодировку сортировки и типов символов? Уже обгуглился, ничего не получается. Из pgAdmin не даёт изменить.
При создании БД по шаблону вылетает ошибка: "Неверный формат хранилища".

Добавлено через 1 час 31 минуту
Установил PostgreSQL 12 (почему-то 13 версии в репозитарии не находит) на Linux Mint.
Работает.
Bash
1
2
3
4
5
6
7
8
virt@0001:~$ sudo su - postgres
postgres@0001:~$ psql
psql (12.8 (Ubuntu 12.8-0ubuntu0.20.04.1))
Type "help" for help.
 
postgres=# \conninfo
You are connected to database "postgres" as user "postgres" via socket in "/var/run/postgresql" at port "5432".
postgres=#
--------------------------------------
Локаль тоже правильная
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
- DATABASE: postgres
 
-- DROP DATABASE postgres;
 
CREATE DATABASE postgres
  WITH OWNER = postgres
       ENCODING = 'UTF8'
       TABLESPACE = pg_default
       LC_COLLATE = 'ru_RU.UTF-8'
       LC_CTYPE = 'ru_RU.UTF-8'
       CONNECTION LIMIT = -1;
 
COMMENT ON DATABASE postgres
  IS 'default administrative connection database';
Теперь другая беда: не могу отредактировать файл postgresql.conf в соответствии с инструкцией.
Редактировал nano, vi, mcedit, pgAdmin3 после чего postgres перестает работать.
После редактирования postgresql.conf делаю:
Bash
1
2
3
4
5
6
7
virt@0001:~$ sudo service postgresql restart
virt@0001:~$ sudo su - postgres
postgres@0001:~$ psql
psql: error: could not connect to server: Нет такого файла или каталога
    Is the server running locally and accepting
    connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
postgres@0001:~$
Возвращаю postgresql.conf из backup'a перезагружаю демон постгри и опять работает
Как и чем вы этот файл редактируете?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.08.2021, 15:50
Ответы с готовыми решениями:

Как изменить кодировку
Вобщем На локалке стоял нормално небыло не каких злобных ?????????? Перенес на хостенг стали все...

Изменить кодировку БД IBExpert
Возможно ли поменять кодировку для БД? Посмотрел все кнопки, опции ненашел...

База данных mssql создаю в проекте VS2012, как изменить кодировку?
База данных mssql создаю в проекте VS2012. Заполняю и читаю ASP.NET. Русский язык запустить не могу...

Изменить кодировку
Мне приходит ответ на запрос с заголовком: "content-type:text/plain; charset=utf8; ...

1
1251 / 967 / 382
Регистрация: 02.09.2012
Сообщений: 2,989
26.08.2021, 23:03 2
1) По первому вопросу предположу, что разработчики базы данных не ориентировались на Windows, где по умолчанию collation Russian_Russia.1251 для русскоязычных установок. Другие варианты с UTF8, насколько я знаю, не поддерживаются. Поэтому единственный вариант переключится на Linux, что собственно вы и сделали.

2) Редактор любой подойдет. Вопрос скорее, что вы туда вносите, что оно перестает работать?? Ответ нужно смотреть в логах. Сначала сервер пишет ошибки в stderr, потом, если включен logging_collector, то начинает по умолчанию писать в директорию log, расположенную в директории данных.

Я не очень знаком с Mint и его системой запуска, но предположу, что надо начать с изучения статуса сервиса и поиска логов.
Код
service postgresql status
Может в системный лог будут какие-то сообщения перенаправлены из ошибочного стартующего postgresql-сервиса. Надо искать, куда сервис стартово пишет логи. В них будет указано причина, почему не стартануло.
0
26.08.2021, 23:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.08.2021, 23:03
Помогаю со студенческими работами здесь

Изменить кодировку
строка введенная в одном из фрагментов конвертируется в представление других кодировок при...

Изменить кодировку
Вот в чём суть. Есть xml файлы в кодировке utf-8. Есть сайт с кодировкой windows-1251. Несколько...

изменить кодировку
Здравствуйте! Скажите пожалуйста как сменить кодировку компонента (TSaveDialog) что бы при...

Изменить кодировку
Здравствуйте! Как решить проблему кодировками? 1-й скрин: файл написан в кодировке ANSI и в...

Изменить кодировку файла
Не удается изменить кодировку в txt файле,все по учебнику делаю выдает абракадабру,помогите плз.

Изменить кодировку в цикле for /f
Добрый день! Есть файл (filelist.txt) со списком файлов, кодировка файла 866. Необходимо...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru