2013-03-26 4 views
2

Хотя экранных базы данных Postgres я получил ошибку говоряМарки база данных PostgreSQL доступны для всех пользователей

FATAL: Peer authentication failed for user "myuser" 

для решения этой проблемы мне нужно изменить владелец базы данных, как

ALTER DATABASE dbname OWNER TO 'all'; 

все не является пользователь в моей системе, но я хочу сделать эту базу данных доступной для всех пользователей в системе.

Я уверен, что есть способ делать такие вещи. Может кто-нибудь мне помочь!

ответ

2

Необходимо, чтобы read the Client Authentication section of the manual, особенно часть, которая обсуждает pg_hba.conf. Руководство и учебники PostgreSQL достаточно полны и заслуживают внимания.

Есть много вопросов о переполнении стека, superuser.com, serverfault.com и dba.stackexchange.com, которые охватывают pg_hba.conf, поэтому я не буду повторять то, что уже доступно в изобилии.

Очень короткая версия:

  • Использование md5 аутентификации; и
  • CREATE USER все пользователи, с которыми вы хотите зарегистрироваться или чтобы все они вошли в систему как общий идентификатор.

Пожалуйста, ознакомьтесь с разделами руководства по аутентификации и безопасности, чтобы избежать будущих проблем и проблем.

0

аутентификации Peer означает, что PostgreSQL только позволит пользователю ОС, admin, чтобы подключиться как admin или пользователь OS myuser для подключения к PostgreSQL, как myuser.

Это потому, что он имеет запись в файле pg_hba.conf как этот

local all all peer 

Если вы замените его с этим

local all all trust 

тогда все пользователи на одной и той же ОС, на котором размещена база данных PostgreSQL ВОЛЮ иметь возможность свободно подключаться.

1

В файловой системе найти pg_hba.conf файл, используя

locate pg_hba.conf 

Затем найдите версию вашего Postgres.

редактировать файл с помощью

sudo nano /etc/postgresql/9.1/main/pg_hba.conf 

Если у вас есть следующая строка:

local all all  peer 

затем изменить его на:

local all all  md5 

Я уверен, что он будет работать!

Смежные вопросы