А как начать работать с PostgreSQL?(+)

rudik

Developer
А как начать работать с PostgreSQL?(+)

Приветствую!
Имею: Линукс, установленный вместе с системой PostgreSQL, пхп 4.0.6. привернут к апачу через ДСО, сконфигурен с поддержкой функций Постгреса, функции обращения к постгресу понимает. phpPgSql имеется, записан куда надо и работает. Но база к себе не пускает, судя по реакции на попытки все закрыто паролем, которого я не знаю.
Программкой psql прямо на этой машине пользоваться могу, т.е. когда пароли не нужны (как бы прямой администраторский доступ) - база работает.
Что надо сделать?
Пользователя с полными правами добавить (если аналогия с мускулем)?
В какую базу, какую таблицу, какого?
Я понимаю, для знающих это элементарно... Ну так подскажите!
Спасибо.
Илья
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Значицца по порядку...
пользователь с полными правами есть и так: postgres.

Создать нового юзера:
CREATE USER vasya_poopkin;
Либо из командной строки
createuser vasya_poopkin

"Судя по реакции на попытки" --- не описание. Сообщение об ошибке в студию!

Кроме того, есть две наиболее вероятные проблемы:
- Postgres не слушает порт 5432 (надо запускать с ключом -i)
- проверить файл pg_hba.conf (должен быть в /var/lib/pgsql, если Postgres ставился из RPM)
 

rudik

Developer
А что должно быть в pg_hba.conf?(+)

Отвечаю:

*Создать нового юзера:
*CREATE USER vasya_poopkin;
*Либо из командной строки
*createuser vasya_poopkin

Допустим, создал. У него сразу есть права "все на всё"? Или надо прописывать эти права, а тогда КАК?

*"Судя по реакции на попытки" --- не описание. Сообщение об ошибке в *студию!

Вот оно: phpPgAdmin спрашивает имя и пароль. Набираю имя "postgres", а пароль я изменял в самой системе для пользоателя postgres, его и ввожу.
Видимо зря я это делал, вопрос в том, можно ли отыграть обратно.
А ответ вот такой:
"Warning: Unable to connect to PostgreSQL server: FATAL 1: SetUserId: user 'password=' is not in 'pg_shadow' in /var/www/html/phpPgAdmin/lib.inc.php on line 130
Error - /var/www/html/phpPgAdmin/index.php
PostgreSQL said: Unable to connect to server
Back"

*Кроме того, есть две наиболее вероятные проблемы:
*- Postgres не слушает порт 5432 (надо запускать с ключом -i)

А вот это где и как настроить?
Стартует постгрес автоматически.


*- проверить файл pg_hba.conf (должен быть в /var/lib/pgsql, если Postgres *ставился из RPM)
Путь к нему у меня /var/lib/pgsql/data/
Что там должно быть?
у меня там раскомментированы три строки:
local all [пусто] [пусто] trust
host all 127.0.0.1 255.255.255.255 trust

А как надо? И что на что влияет?
Жду продолжения ликбеза. Спасибо.
Илья
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Илья писал(а):
> *Создать нового юзера:
> *CREATE USER vasya_poopkin;
>
> Допустим, создал. У него сразу есть права "все на
> всё"? Или надо прописывать эти права, а тогда КАК?
Права на создание баз и новых пользователей даются непосредственно при создании юзера, права на подключение к конкретным базам прописываются в pg_hba.conf, права на доступ к таблицам даются/отнимаются стандартными командами GRANT/REVOKE.

> Вот оно: phpPgAdmin спрашивает имя и пароль. Набираю имя
> "postgres", а пароль я изменял в самой системе для
> пользоателя postgres, его и ввожу.
> Видимо зря я это делал, вопрос в том, можно ли отыграть
> обратно.
> А ответ вот такой:
> "Warning: Unable to connect to PostgreSQL server: FATAL
> 1: SetUserId: user 'password=' is not in 'pg_shadow' in
> /var/www/html/phpPgAdmin/lib.inc.php on line 130
> Error - /var/www/html/phpPgAdmin/index.php
> PostgreSQL said: Unable to connect to server
Это сообщение указывает на кривую строку подключения к базе и никаким боком не относится к правам доступа.
Я не пользуюсь phpPgAdmin, но что-то мне подсказывает, что копать надо в сторону этого самого lib.inc.php

>
> *Кроме того, есть две наиболее вероятные проблемы:
> *- Postgres не слушает порт 5432 (надо запускать с ключом -i)
>
> А вот это где и как настроить?
> Стартует постгрес автоматически.
Смотреть /etc/rc.d/init.d/postgresql или /var/lib/pgsql/data/postgresql.conf (если версия свежая).
Хотя дело, как я уже написал выше, не в этом.

> *- проверить файл pg_hba.conf (должен быть в /var/lib/pgsql,
> если Postgres *ставился из RPM)
> Путь к нему у меня /var/lib/pgsql/data/
> Что там должно быть?
> у меня там раскомментированы три строки:
> local all [пусто] [пусто] trust
> host all 127.0.0.1 255.255.255.255 trust
>
> А как надо? И что на что влияет?
Влияет на то, кто может подключится к каким базам с каких iPшников и с какой аутентификацией.
В данной конфигурации --- любой пользователь с локальной машины может подключиться к любой базе, не указывая пароля. Больше никто и ниоткуда подключиться не может.
 
Сверху