Я установил postgresql 9.3, но не могу добраться, любые пользователи авторизовали. Я также не могу использовать initdb или pg_ctl. Я не могу найти pg_hba.conf также.
Где pg_hba.conf
файл находится:
pg_hba.conf
находится в /etc/postgresql/X.Y/main/
(где X.Y
Ваша версия, 9.3 для Вас, 9.4 для меня).
"Недостающие" программы:
pg_ctl
может не быть установлен по умолчанию. initdb
может не также быть установлен по умолчанию. Оба являются устанавливаемыми postgres-xc
.
Добавление пользователей, таким образом, они могут быть авторизованы:
Необходимо будет добавить пользователя/роль на пути psql
клиент командной строки. Необходимо будет затем добавить пользователя к pg_hba.conf
.
Я предлагаю использовать pgadmin3
, графический интерфейс / программа, для работы с пользовательскими ролями и добавлением их. Это позволяет Вам конкретно выбирать отдельные полномочия, которые Вы хотите дать пользователю глобально (который не должен обычно быть никакими специальными полномочиями, только чтобы создать пользователя и дать полномочия для данного DB отдельно).
Конфигурирование pg_hba.conf
Это может быть немного хитро. После того как Вы сделали, чтобы пользователь вошел в роль, необходимо добавить их к pg_hba.conf
. Формат файла полностью объяснен подробно в документации PosgreSQL. Краткое изложение здесь.
Если нет согласующий отрезок длинной линии здесь, правило доступа по умолчанию, "запрещают доступа".
Это - формат a pg_hba.conf
строка:
TYPE DATABASE USER ADDRESS METHOD
type
тип соединения. Локальные соединения от того же компьютера добираются local
ввести. Соединения от нелокального IP (т.е. по TCP) добираются host
ввести. hostnossl
может использоваться и определит любое сетевое соединение с ним (т.е. нелокальный), который не является по SSL. hostssl
может использоваться для определения любого сетевого соединения, которое является по SSL, однако это не значение по умолчанию, чтобы настроить SSL.
database
очевидно - какую базу данных делают Вы хотите установить эти полномочия/ограничения доступа на. Специальный тип БД all
который указывает на все базы данных.
user
имя пользователя / роль, которую Вы добавили к Пост-ГРЭС. Это должно существовать в пост-ГРЭС, и это, возможно, должно существовать как локальный пользователь системы (однако, это объяснено в том, где я объясняю METHOD
).
ADDRESS
IPv4 или адрес IPv6 или диапазон. Это только, чтобы использоваться когда host
, hostnossl
, или hostssl
указаны под type
. Это может быть диапазон CIDR или отдельный IP-адрес.
METHOD
то, как обработать аутентификацию.
local
введите, это должно быть peer
аутентификация, или md5
аутентификация, если Вы хотите, чтобы пользователь смог войти в систему от другой учетной записи пользователя локального компьютера с паролем.host
, hostssl
, или hostnossl
тип соединения, Вы, вероятно, хотите использовать md5
здесь, однако у Вас могут быть другие типы аутентификации (см. ссылку на документацию выше).trust
метод. Это имеет нулевую аутентификацию человека и является дырой в системе безопасности от Черт, даже для local
введите соединения.Я советую Вам прочитывать связанную документацию относительно pg_hba.conf
файл, это - лучшее объяснение вещей.