Назад | Перейти на главную страницу

Как я могу взаимодействовать с новой установкой Postgres, если я не могу выполнить sudo -u postgres?

Я установил Postgres на сервер Ubuntu 16.04, но я работаю в корпоративной среде и не могу sudo -u postgres (У меня есть права sudo, но я не могу выдавать себя за другого пользователя).

Есть ли другой способ взаимодействия с моей новой службой Postgres или, возможно, указать себя в качестве администратора во время установки?

Вы можете предоставить себе необходимые разрешения, если у вас есть право редактировать конфигурацию PostgreSQL в /etc/postgresql.

Сначала проверьте, какая версия PostgreSQL установлена, и имя кластера / экземпляра (см. Вывод pg_lsclusters). Например, с Ubuntu 16.04 версия будет 9.5 с репозиторием по умолчанию, потому что он был текущим в 2016 году, и экземпляр будет называться main.

В этом случае конфигурация находится под /etc/postgresql/9.5/main (в противном случае измените путь в соответствии с версией / кластером). В конфигурации вы можете объявить сопоставление вашего имени пользователя Unix с учетной записью суперпользователя postgres, например:

В /etc/postgresql/9.5/main/pg_ident.conf

# MAPNAME       SYSTEM-USERNAME         PG-USERNAME
mymap           myusername              postgres

В /etc/postgresql/9.5/main/pg_hba.conf, как первое правило (порядок имеет значение):

# local      DATABASE  USER            METHOD  [OPTIONS]
local        all       postgres        peer map=mymap

Затем перезагрузите (sudo pg_ctlcluster 9.5 main reload), а Unix myusername учетная запись должна иметь возможность подключаться локально как суперпользователь с:

$ psql -U postgres -d postgres

В противном случае проверьте журналы сервера в /var/log/postgresql