# PostgreSQL: получаю нечитаемые сообщения

## fank

```
# psql

psql: FATAL:  ???? ?????? "root" ?? ??????????
```

ставил раньше семёрку, хотел побаловаться, получал такое же...

локаль ru_RU.UTF-8

я полный новичок в этой СУРБД, равно как и в остальных

как мне действовать? в том смысле, что в командах-то я сам разберусь, как мне получать сообщения от psql на понятном диалекте  :Smile: 

да, и очень большая просьба подсказать доку, желательно, конечно, на русском, для начала работы с psql, нечто вроде quick reference

спасибо!

----------

## viy

Это собрал его с поддержкой NLS. Никогда не баловался таковыми настройками. Попробуй с кодирвками поиграться, в сторону koi8-r.

Доки как таковой нет. В целом док-ция у pg отличная, можно посмотреть там. Или пиши в приват --- помогу.

----------

## fank

 *Quote:*   

> # enca /var/lib/postgresql/data/postgresql.log
> 
> 7bit ASCII characters

 

даааа... попробую пересобрать без nls

странно это всё... ведь хелп встроенный в бинарники показывается на чистейшем русском наречии

а доки я читал встроенные, вернее начал было....а там транслит   :Shocked: 

такого шока я давно не испытывал....   :Smile: 

----------

## viy

Хм... не должно быть там транслита, PG делается на совесть.

Чем смотрел?

----------

## fank

смотрел так

```
less /usr/share/doc/postgresql-8.1.3/FAQ_russian.gz
```

была мысль, что показали мне неправильно, взял да и распаковал его - текст обычный в транслите.... неприятно как-то читать

да, и по проблеме

судя по всему, неправильно делается (и делается ли вообще, щас гляну ебилд) initdb

я его вручную от имени юзера postgres начал делать, так начал правиться (или вообще с нуля создался, я не смотрел его ДО) конфиг postgresql.conf, хотя может мне это просто кажется

опозналась моя локаль.... но было уже поздно, я его пересобрал без nls флага, то есть проверить уже не смог.... так и закинул... ну их, эти русские сообщения, я и "родные" пойму  :Smile: 

тут жучка ещё нашёл в drupal в database.pgsql и уже не до русификации было

вот теперь надо базу перекинуть из мускула в слоника   :Very Happy: 

нашёл (вернее, подсказали) скрипт neo_my2pg.py

но в питоне я тоже ноль полный, а потому ошибку не могу понять:

./neo_my2pg.py: line 16: syntax error near unexpected token `('

./neo_my2pg.py: line 16: `def generate_default_values(v_table_name):'

доков я не нашёл к этому скрипту, вот что...

чё делать, как базу перекинуть?

неохота вручную потаблично...

----------

## viy

http://techdocs.postgresql.org/#convertfrom

хм, а фак действительно в транслите. бардак...

Вот полноценный руский: http://www.postgresql.org/docs/faqs.FAQ_russian.html

----------

## fank

пасиб, я русский фак на сайте уже прочитал   :Smile: 

скрипт тот тоже пошерстил, там надо, видимо, его запускать как-то так:

```
python neo_my2pg.py
```

но я просто добавил в начало #!/usr/bin/python

плюс надо  установить 2 модуля минимум для мускула и постгреса

и ещё отредактировать сам скрипт, указав данные для присоединения к соостветствующим базам

вобщем, в понедельник отпишусь, как прошло  :Smile: 

----------

## fedukoff

Мне так и не удалось застваить постгрес говорить сообщения на русском. В postgresql.conf менял lc_messages на различные варианты: язык меняется (ru_RU или en_US). А на кодировки он забивает, т.е. если устанавливать ru_RU.koi8r или ru_RU.utf8 эффект ничем не отличается - все те же вопросики вместо русского.

----------

## viy

Хм... Только что проделал, без каких-либо доп. извращений.

 *locale wrote:*   

> LANG=ru_RU.UTF-8
> 
> LC_CTYPE="ru_RU.UTF-8"
> 
> LC_NUMERIC="ru_RU.UTF-8"
> ...

 

```
./configure --prefix=/home/viy/local/pg80/7 --enable-nls

make

make install
```

 *psql wrote:*   

> Добро пожаловать в psql 8.0.7 - Интерактивный Терминал PostgreSQL.
> 
> Наберите:  \copyright для условий распространения
> 
>            \h для подсказки по SQL командам
> ...

 

----------

## fedukoff

Странно! У меня эти строки вообще никогд на русском не показывались. Но я собирал не вручную, а ебилдом...

----------

## Bentley

Тоже ищу решение проблемы

```
admin@gentoo ~ $ psql

psql: FATAL:  ???? ?????? "admin" ?? ??????????

admin@gentoo ~ $ psql admindb

Добро пожаловать в psql 8.0.4 - Интерактивный Терминал PostgreSQL.

Наберите:  \copyright для условий распространения

           \h для подсказки по SQL командам

           \? для подсказки по командам psql

           \g или наберите ";" для завершения запроса и его выполнения

           \q для выхода

admindb=# \q

admin@gentoo ~ $

```

Вывод первой комманды нечитаем, хотя дальше все выглядит хорошо

```
LANG=ru_RU.UTF-8

LC_CTYPE="ru_RU.UTF-8"

LC_NUMERIC="ru_RU.UTF-8"

LC_TIME="ru_RU.UTF-8"

LC_COLLATE="ru_RU.UTF-8"

LC_MONETARY="ru_RU.UTF-8"

LC_MESSAGES="ru_RU.UTF-8"

LC_PAPER="ru_RU.UTF-8"

LC_NAME="ru_RU.UTF-8"

LC_ADDRESS="ru_RU.UTF-8"

LC_TELEPHONE="ru_RU.UTF-8"

LC_MEASUREMENT="ru_RU.UTF-8"

LC_IDENTIFICATION="ru_RU.UTF-8"

LC_ALL=
```

```
admin@gentoo ~ $ emerge -pv postgresql

These are the packages that I would merge, in order:

Calculating dependencies ...done!

[ebuild   R   ] dev-db/postgresql-8.0.4  -doc -kerberos +libg++ +nls +pam +perl -pg-hier -pg-intdatetime +python +readline (-selinux) +ssl -tcltk +xml2 +zlib 0 kB

```

----------

## fedukoff

На самом деле проблема проблемой не является. Имхо, сообщения на англицком более понятны, чем на русском (даже если и не вопросики   :Wink:  ). Просто не аккуратненько, как то....

----------

