Я установил 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