Приветствую!
По-умолчанию, что бы создать базу из 1С-й консоли требуется пользователь с правами SUPERUSER.
Что, на мой взгляд, странно. Почему не хватает прав CREATEDB? Кто нибудь решал этот вопрос?
Я не говорю о хитрых методах понижения прав после создания баз, интересует именно создание пользователя с минимально необходимыми правами.
PostgreSQL: владелец базы
Модератор: Модераторы разделов
-
- Сообщения: 2567
- ОС: Debian
Re: PostgreSQL: владелец базы
Не совсем был прав.
Итак, есть пользователь в базе с правом CREATEDB:
При попытке создать базу из консоли 1С -ERROR: доступ запрещён по установке параметра "lc_message".
В логах сервера:
Нашел такое решение - http://forum.lissyara.su/viewtopic.php?f=8...=129037#p118341. Но что-то не могу сообразить как его приметь, не вижу локали en_US.
В системе установлены следующие локали:
Initdb выполнял с ru_RU.UTF8. Конфиг содержит:
Подскажите решение?
Спасибо.
Итак, есть пользователь в базе с правом 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
Подскажите решение?
Спасибо.
-
- Ведущий рубрики
- Сообщения: 1572
- Статус: Подвинутый участник
Re: PostgreSQL: владелец базы
Может быть так, например: ln -s /usr/share/locale/en@quot /usr/share/locale/en_US.UTF-8
Но по уму оно все в locale.alias должно быть прописано
Но по уму оно все в locale.alias должно быть прописано
-
- Сообщения: 2567
- ОС: Debian
Re: PostgreSQL: владелец базы
Код:
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
-
- Ведущий рубрики
- Сообщения: 1572
- Статус: Подвинутый участник
-
- Сообщения: 2567
- ОС: Debian
Re: PostgreSQL: владелец базы
Я думаю тут проблема не в отсутствии локали. Почему то владелец базы имеет не все права - ERROR: доступ запрещён по установке параметра "lc_messages". Вот что странно....