PostgreSQL: владелец базы

WINE@Etersoft, "1С","Ананас" и прочие проекты

Модератор: Модераторы разделов

IMB
Сообщения: 2567
ОС: Debian

PostgreSQL: владелец базы

Сообщение IMB »

Приветствую!
По-умолчанию, что бы создать базу из 1С-й консоли требуется пользователь с правами SUPERUSER.
Что, на мой взгляд, странно. Почему не хватает прав CREATEDB? Кто нибудь решал этот вопрос?
Я не говорю о хитрых методах понижения прав после создания баз, интересует именно создание пользователя с минимально необходимыми правами.
Спасибо сказали:
IMB
Сообщения: 2567
ОС: Debian

Re: PostgreSQL: владелец базы

Сообщение IMB »

Не совсем был прав.
Итак, есть пользователь в базе с правом CREATEDB:

user@localhost

postgres=# select * from pg_shadow where usename = 'user1c8'; usename | usesysid | usecreatedb | usesuper | usecatupd | passwd | valuntil | useconfig ---------+----------+-------------+----------+-----------+-------------------------------------+----------+----------- user1c8 | 16384 | t | f | f | md56c3dfaad7a8d7209423f9e5e62bdd187 | | (1 row)

При попытке создать базу из консоли 1С -ERROR: доступ запрещён по установке параметра "lc_message".
В логах сервера:

Код: Выделить всё

ERROR:  доступ запрещён по установке параметра "lc_messages"
КОМАНДА:  SET lc_messages to 'en_US';
NOTICE:  нет транзакции в процессе выполнения
ERROR:  доступ запрещён по установке параметра "lc_messages"
КОМАНДА:  SET lc_messages to 'en_US';
NOTICE:  нет транзакции в процессе выполнения

Нашел такое решение - http://forum.lissyara.su/viewtopic.php?f=8...=129037#p118341. Но что-то не могу сообразить как его приметь, не вижу локали en_US.

user@localhost

ls -F /usr/share/locale/ af/ be/ bn_IN/ cs/ de/ en@boldquot/ eo/ et_EE/ fi/ gl/ hi/ hy/ it/ km/ ku/ locale.alias@ mg/ mr/ ne/ no/ pl/ ro/ si/ sq/ sv/ th/ uk/ wo/ zh_HK/ ar/ bg/ bs/ cy/ dz/ en_GB/ es/ eu/ fr/ gu/ hr/ id/ ja/ kn/ ky/ lt/ mk/ ms/ nl/ or/ pt/ ru/ sk/ sr/ ta/ tl/ vi/ xh/ zh_TW/ as/ bn/ ca/ da/ el/ en@quot/ et/ fa/ ga/ he/ hu/ шis/ ka/ ko/ lg/ lv/ ml/ nb/ nn/ pa/ pt_BR/ rw/ sl/ sr@latin/ te/ tr/ wa/ zh_CN/ zu/

В системе установлены следующие локали:

user@localhost

locale -a C en_US en_US.iso88591 en_US.iso885915 en_US.utf8 POSIX ru_RU.utf8

Initdb выполнял с ru_RU.UTF8. Конфиг содержит:

user@localhost

grep lc /database/postgres/postgresql.conf lc_messages = 'ru_RU.utf8' # locale for system error message lc_monetary = 'ru_RU.utf8' # locale for monetary formatting lc_numeric = 'ru_RU.utf8' # locale for number formatting lc_time = 'ru_RU.utf8' # locale for time formatting

Подскажите решение?
Спасибо.
Спасибо сказали:
dimbor
Ведущий рубрики
Сообщения: 1572
Статус: Подвинутый участник

Re: PostgreSQL: владелец базы

Сообщение dimbor »

Может быть так, например: ln -s /usr/share/locale/en@quot /usr/share/locale/en_US.UTF-8
Но по уму оно все в locale.alias должно быть прописано
Спасибо сказали:
IMB
Сообщения: 2567
ОС: Debian

Re: PostgreSQL: владелец базы

Сообщение IMB »

Код:

cat /usr/share/locale/locale.alias bokmal nb_NO.ISO-8859-1 bokmål nb_NO.ISO-8859-1 catalan ca_ES.ISO-8859-1 croatian hr_HR.ISO-8859-2 czech cs_CZ.ISO-8859-2 danish da_DK.ISO-8859-1 dansk da_DK.ISO-8859-1 deutsch de_DE.ISO-8859-1 dutch nl_NL.ISO-8859-1 eesti et_EE.ISO-8859-15 estonian et_EE.ISO-8859-15 finnish fi_FI.ISO-8859-1 français fr_FR.ISO-8859-1 french fr_FR.ISO-8859-1 galego gl_ES.ISO-8859-1 galician gl_ES.ISO-8859-1 german de_DE.ISO-8859-1 greek el_GR.ISO-8859-7 hebrew he_IL.ISO-8859-8 hrvatski hr_HR.ISO-8859-2 hungarian hu_HU.ISO-8859-2 icelandic is_IS.ISO-8859-1 italian it_IT.ISO-8859-1 japanese ja_JP.eucJP japanese.euc ja_JP.eucJP ja_JP ja_JP.eucJP ja_JP.ujis ja_JP.eucJP japanese.sjis ja_JP.SJIS korean ko_KR.eucKR korean.euc ko_KR.eucKR ko_KR ko_KR.eucKR lithuanian lt_LT.ISO-8859-13 no_NO nb_NO.ISO-8859-1 no_NO.ISO-8859-1 nb_NO.ISO-8859-1 norwegian nb_NO.ISO-8859-1 nynorsk nn_NO.ISO-8859-1 polish pl_PL.ISO-8859-2 portuguese pt_PT.ISO-8859-1 romanian ro_RO.ISO-8859-2 russian ru_RU.KOI8-R slovak sk_SK.ISO-8859-2 slovene sl_SI.ISO-8859-2 slovenian sl_SI.ISO-8859-2 spanish es_ES.ISO-8859-1 swedish sv_SE.ISO-8859-1 thai th_TH.TIS-620 turkish tr_TR.ISO-8859-9

А чему соответствует en@quot? Как то не однозначно, что это en_US.
Попробовал создать ссылку - не помогло.

user@localhost

ls -l en_US.UTF-8 lrwxrwxrwx 1 root root 25 2009-04-15 13:14 en_US.UTF-8 -> /usr/share/locale/en@quot
Спасибо сказали:
dimbor
Ведущий рубрики
Сообщения: 1572
Статус: Подвинутый участник

Re: PostgreSQL: владелец базы

Сообщение dimbor »

IMB писал(а):
15.04.2009 13:01
А чему соответствует en@quot? Как то не однозначно, что это en_US.

Это был "например". Подразумевался метод тыка. en*,ru
Под альтом ls -F /usr/share/locale | sort
en/
en_AU/
en@boldquot/
en_CA/
en_GB/
en@quot/
en_US/
ru/
Спасибо сказали:
IMB
Сообщения: 2567
ОС: Debian

Re: PostgreSQL: владелец базы

Сообщение IMB »

Я думаю тут проблема не в отсутствии локали. Почему то владелец базы имеет не все права - ERROR: доступ запрещён по установке параметра "lc_messages". Вот что странно....
Спасибо сказали: