вторник, 13 января 2009 г.

Установка и настройка postgresql сервера под openSUSE 11.1

Установить из yast2 следующие пакеты:
1.postgresql
2.postgresql-contrib
3.postgresql-libs
4.postgresql-server
5.psqlODBC
6.qt3-postgresql
После этого сервер postgresql как бы работает, т.е. он может стартовать, доступен терминал, в терминале выполняются команды, даже порт 5432 становится задействованным.
Но если мы попытаемся запустить сервер от пользователя postgres, то нас попросят ввести пароль, который лично мне подобрать не удалось. Если запустить сервер от root, пароль не запрашивается, но в этом случае на сервере не могут авторизоваться менеджеры СУБД (такие как pgadmin, kpogre).
Выход один - инициализировать postgresql.
Перед проведением последующих манипуляций убедитесь, что ваш postgresql сервер НЕ запущен. Для этого в консоли наберите
Код:
#/etc/init.d/postgresql status
Терминал должен сообщить "Checking for PostgreSQL: unused". В противном случае вызовите команду
Код:
#/etc/init.d/postgresql stop
Итак начнём.
Открываем консоль и становимся root при помощи команды su. Переходим в каталог /var/lib/pgsql/data/
Код:
#cd /var/lib/pgsql/data/
Удаляем все файлы в этой директории (при помощи команды rm или из файлового менеджера). Становимся пользователем postgres: для этого пишем в консоли su postgres. Если при этом появляется запрос пароля попробуйте стать root и повторите предыдущее действие.
От postgres даём команду
Код:
#initdb -D /var/lib/pgsql/data
В консоли появятся статусные сообщения о применении различных настроек СУБД. После того как процедура инициализации завершится, выполняем команду
Код:
#postgres -D /var/lib/pgsql/data
(она запускает сервер).
Выполняем команду
Код:
#psql
. Мы попали в терминал postgresql. Для начала установим пароль на пользователя postgres. Для этого в терминале выполняем запрос
Код:
ALTER USER postgres PASSWORD 'пароль';
(";" - обязательно должна присутствовать - она означает конец запроса. Если вы забыли поставить ";" и уже нажали Enter, то на следующей строке введите ";" и нажмите Enter.[в ответ получим ALTER ROLE])
Теперь создадим себе пользователя для работы с СУБД. Вводим запрос
Код:
CREATE USER имя_пользователя PASSWORD 'пароль';
(в ответ получим CREATE ROLE). Сделаем вновь созданного пользователя суперюзером:
Код:
ALTER USER 'имя_пользователя' SUPERUSER;
(в ответ получим ALTER ROLE). Чтобы выйти из консоли вводим
Код:
\q
Теперь сервер postgresql готов к использованию.

1 комментарий:

  1. Отлично, спасибо, чувак, все заработало!!! ;)

    ОтветитьУдалить