И снова подключение к Postgre

Приветствую, комрады.

Прошу, прощения, к сожалению не смог найти ответ на вопросы. Поэтому пишу здесь.
Я, можно сказать, нуб в *nix системах, особенно, в доступе и раздаче прав и доступа.

Предыстория:
Возникла необходимость поставить на свой NAS, который базируется на FreeNas (основа - BSD ) PostgreSQL 9.1 . Доступ будет с основного компа, на котором Win7 и уже установлен pgpAdminII

Ставил я его на в отдельную jail. Долго не мог запустить, проблема был решена ввдением инструкции
jail -m jid=1 allow.sysvipc=1. После этого, запустилась initdb и сервис, наконец, стартанул.
Запускаю тюрьму, соотвественно, под рутом - jexec 1 /bin/tcsh

В файл posgres.conf открыл всем доступ:

listen_addresses = '*'
port = 5432
max_connections = 100

в pg_hba.conf прописал тип доступа:
local all all trust
host postgres all 192.168.1.0/32 trust

но при попытке залогиниться либо через pgpAdmin либо локально через psql - выдает всегда одно и тоже:

root@dbase:/ # psql -h localhost -U postgres -d postgres -p 5432
psql: FATAL: role "postgres" does not exist

Тоже самое и с другими пользователями. Простой вызов psql говорит, что:
root@dbase:/ # psql
psql: FATAL: role "root" does not exist

Подскажите, как добавить пользователя в ROLE в обход интерпретатора (?) psql и вообще, может я что-то не так делаю? И можно прописать всех в файл авторизации?

Повторюсь, что nix системы для меня пока едва открытая книга.

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Роль postgres должна

Роль postgres должна существовать. Сильно похоже на то, что у вас не отработала начальная инициализация кластера БД, которая initdb. Или отработала как-то криво. Кстати попробуйте ещё так:

# psql -d template1

и вот так

# su - postgres
$ psql -d template1

прокатит или нет?

Спасибо за быстрый ответ, но

Спасибо за быстрый ответ, но это не сработало...

root@dbase:/ # psql -d template1
psql: FATAL: role "root" does not exist

root@dbase:/ # su - postgres
To see the output from when your computer started, run dmesg(8). If it has
been replaced with other messages, look at /var/run/dmesg.boot.
-- Francisco Reyes
$ psql -d template1
psql: FATAL: role "postgres" does not exist

в логах не видел каких-то критичных ошибок после инициализации.

Но вот что интересно-попробовал иниализировать базу вновь, обработчик сказал, что база зарезервирована для юзера pgsql. А этот юзер действительно существует и под ним уже удалось зайти как в psql, так и через pgAdminIII.

Правда, pgAdmin ругается на отсуствие колонок, хотя база пустая..
Ссылка на скрин ошибки

Новых баз из pgAdmin не удается создать.

тогда вероятно действительно,

тогда вероятно действительно, что-то криво получилось с инициализацией. Структура БД должна быть в любом случае.
Смотрите я бы что попробовал. Насколько я понимаю jail это некое chroot окружение, да? Возможно правильно было бы первоначально выполнить initdb на нормальном окружении, проверить, что там всё работает, а потом остановив сервер POstgreSQL скопировать всё содержимое /var/lib/pgsql в jail-окружение, а затем уже пытаться всё это запустить в jail

Все заработало! Дело в том,

Все заработало!

Дело в том, что локально, через консоль все работало - создавались базы, юзеры и т.д. А удаленно через pgAdmin - на что-то ругалось. Дело в том, что у меня очень старый pgAdmin - 1.8.4 Обновил до 1.18 - все заработало! Спасибо большое за участие!

P.S. jail - я так понимаю, что это виртуальная среда, со своим окружением. То есть имеет свой IP, юзера, своё распределение папок и проч. Насколько я знаю, на системах типа NAS, лучше использовать их, потому что все что понаставлено "левого", можно одним махом локализовать и удалить, удалив соотвествующую jail (тюрьму, клетку). То есть все процессы, которые запущены из jail - выполняются отдельно и независимо от основной системы. Основная система "не знает", что на этом компе установлен Postgres или transmittion и команды, запускаемые в основной системе, не влияют на запуски в jail. То есть, не запустив jail и сделав initdb - система скажет, что неизвестная команда. Но, опять же - я так понял из сопроводительной документации, возможно, я все путаю.

Цитата:Дело в том, что у меня

Цитата:
Дело в том, что у меня очень старый pgAdmin - 1.8.4

Уже весь язык смозолил здесь на форуме, постоянно говорю: НЕ ИСПОЛЬЗУЙТЕ pgAdmin. Кривой он донельзя. Да psql не так удобен, зато работает без ошибок.

ну, не знаю. 21й век на

ну, не знаю. 21й век на дворе. Даже линуксы уже графическими интерфейсами обзавелись :)
возможно, что он кривой, но юзабилити перекрывает недостатки, на мой взгляд.

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Back to top

(С) Виктор Вислобоков, 2008-2023