как изменить язык в SQL SHELL (psql)
Как видно на скриншоте у меня похоже установлен п умолчанию русский язык и это вызывает некоторые проблемы с отображением т.к. sql shell (psql) 8-битный. Как поменять язык на английский? команда 0 эта команда не помогает SET lc_messages TO ‘en_US.UTF-8’;
и эта тоже lc_messages = ‘C’
Отслеживать
Павел Соляник
задан 1 авг 2022 в 15:02
Павел Соляник Павел Соляник
128 2 2 серебряных знака 10 10 бронзовых знаков
stackoverflow.com/questions/191428/…, Чтобы долго не искал lc_messages = ‘C’ так попробуй
1 авг 2022 в 21:16
возможно я делаю что-то не так, но похоже это не работает
2 авг 2022 в 11:28
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
В командной строке перед запуском psql набери chcp 1251, а ещё лучше используй в качестве LC_COLLATE значение ru_RU.UTF-8, а в командной строке — chcp 65001.
Отслеживать
ответ дан 2 авг 2022 в 11:37
46 3 3 бронзовых знака
спасибо, команда \! chcp 1251 сработала
2 авг 2022 в 11:45
@ПавелСоляник, Если ответ решил Вашу проблему, отметьте его как решение поставив галку на нем
2 авг 2022 в 20:40
Перерыл весь инет, нашёл 🙂
1. Win + R -> пишем regedit 2. Находим папку Компьютер\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor 3. Правая кнопка мыши -> создать раздел, называем Autorun, жмём Enter 4. Тыкаем правой кнопкой мыши на Autorun -> изменить 5. Устанавливаем значение chcp 1251 -> ОК
После повторного запуска всё работает, кодировка не слетает 🙂
Как сменить язык в postgresql
ALTER LANGUAGE — изменить определение процедурного языка
Синтаксис
ALTER [ PROCEDURAL ] LANGUAGEимя
RENAME TOновое_имя
ALTER [ PROCEDURAL ] LANGUAGEимя
OWNER TO <новый_владелец
| CURRENT_USER | SESSION_USER >
Описание
ALTER LANGUAGE изменяет определение процедурного языка. Единственное, что может это команда — переименовать язык или назначить нового владельца. Выполнить ALTER LANGUAGE может только суперпользователь или владелец языка.
Параметры
Имя языка новое_имя
Новое имя языка новый_владелец
Новый владелец языка
Совместимость
Оператор ALTER LANGUAGE отсутствует в стандарте SQL.
Как сменить язык в postgresql
ALTER LANGUAGE — change the definition of a procedural language
Synopsis
ALTER [ PROCEDURAL ] LANGUAGEname
RENAME TOnew_name
ALTER [ PROCEDURAL ] LANGUAGEname
OWNER TO <new_owner
| CURRENT_ROLE | CURRENT_USER | SESSION_USER >
Description
ALTER LANGUAGE changes the definition of a procedural language. The only functionality is to rename the language or assign a new owner. You must be superuser or owner of the language to use ALTER LANGUAGE .
Parameters
Name of a language
The new name of the language
The new owner of the language
Compatibility
There is no ALTER LANGUAGE statement in the SQL standard.
Как сменить язык в postgresql
Консольный клиент psql представляет еще один способ взаимодействия с сервером PostgreSQL. Данная программа также, как и pgAdmin, позволяет выполнять команды языка SQL.
Запустим psql. Программа предложит ввести название сервера, базы данных, порта и пользователя. Эти пункты можно прощелкать, так как для них будут использоваться значения по умолчанию (для сервера — localhost, для базы данных — postgres, для порта — 5432, в качестве пользователя — суперпользователь postres). Далее надо будет ввести пароль для пользователя (по умолчанию пользователя postgres):
И после удачного подключения можно будет отправлять серверу команды через psql.
Теперь создадим базу данных с помощью следующей команды языка SQL:
create database test2;
Для создания базы данных применяется команда create database , после которой указывается название бд. То есть в данном случае название бд — «test2». Причем команда завершается точкой с запятой.
Далее подключимся к этой базе данных для осуществления с ней взаимодействия. Для этого применяется команда \c (сокращение от connect), после которой указывается имя базы данных:
\c test2
Затем создадим в этой базе данных таблицу с помощью команды:
create table users (Id serial primary key, Name character varying(30), Age integer);
Данная команда создает таблицу users, в которой будет три столбца — Id, Name и Age.
После этого мы можем добавлять и получать данные из выше созданной таблицы. Вначале добавим в таблицу одну строку с помощью следующей команды:
insert into users (Name, Age) values ('Tom', 33);
И в конце получим добавленные данные:
select * from users;
Стоит отметить, что по умолчанию консоль в Windows поддерживает кодировку CP866, тогда как базы данных могут работать совсем с другой кодировкой, например, 1251. И даже сам клиент psql выводит нам соответствующие сообщения. Кроме того, при получении данных, при выводе информации о базах данных, таблицы и т.д. некоторая информация может отображаться некорректно. В этом случае перед запуском psql надо установить нужную кодировку и затем из консоли запустить программу psql.