PostgreSQL, пароль по умолчанию пользователя postgres

08.01.2020

При установке PostgreSQL по умолчанию к серверу имеет доступ только пользователь postgres, который создается инсталлятором в процессе установки программы.

Режим аутентификации для этой учетной записи в PostgreSQL установлен в ident, то есть позволяет авторизоваться только под пользователем postgres. В свою очередь учетная запись postgres создается как заблокированная для аутентификации и поэтому не имеет какого-либо предустановленного пароля.

Конечно же пароль можно установить принудительно, например через passwd postgres. При этом запись разблокируется, что при установке слабого пароля сделает уязвимой всю систему.

Одним из способов получения локального доступа к серверу через учетную запись postgres (без ее разблокировки) для первоначальной настройки является редактирование файла pg_hba.conf (который находится в папке /etc/postgresql/[версия]/main) с целью разрешения локального соединения без проверки пароля:

# IPv4 local connections:
host    all     all     127.0.0.1/32      trust
# IPv6 local connections:
host    all     all     ::1/128           trust

После редактирования файла необходимо перезагрузить сервер:

/etc/init.d/postgresql restart

После этого можно подключиться к серверу для создания нужных баз данных и пользователей:

psql -U postgres -h localhost

Соответственно для удаленного доступа к серверу, например через dbeaver, можно использовать связку с SSH.