Первичная настройка PostgreSQL на Windows 10
Прошу помочь с PostgreSQL под Windows 10.
1) После установки в файле pg_env.bat следующие параметры:
@ECHO OFF
REM The script sets environment variables helpful for PostgreSQL
@SET PATH="C:\Program Files\PostgreSQL\12\bin";%PATH%
@SET PGDATA=C:\PostgreSQL_DB
@SET PGDATABASE=postgres
@SET PGUSER=postgres
@SET PGPORT=5432
@SET PGLOCALEDIR=C:\Program Files\PostgreSQL\12\share\locale
При попытке ввода psql, предлагает ввести пароль от пользователя операционной системы:
$ psql
Пароль пользователя Kirill:
psql: ошибка: не удалось подключиться к серверу: ВАЖНО: пользователь "Kirill" не прошёл проверку подлинности (по паролю)
Данная проблема решилась бы пропиской переменной среды PGUSER=postgres в Windows. Что и помогает, если я прописываю ее в ручную.
Почему данная переменная не прописалась автоматически, если она присутствует в файле pg_env.bat ?
P.S. про psql -U postgres я в курсе, интересует именно дефолтный юзер.
2) Предположим все таки эту проблему решили и по умолчанию теперь при вводе psql предлагается ввести пароль от супер-юзера postgres. Как сделать чтобы пароль не требовался?
Помог бы вариант с добавлением в windows еще одной переменной среды - PGPASSWORD=<ваш пароль>, но данный метод думаю слишком неочень..
Конфигурация pg_hba.conf сейчас:
# TYPE DATABASE USER ADDRESS METHOD
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
host replication all 127.0.0.1/32 md5
host replication all ::1/128 md5
3) Так же выяснил, что возможно имя пользователя ОС сопоставить с пользователем БД через map. Но реализовать, чтото не получается, в чем может быть ошибка? В файле pg_hba.conf в конце добавляю:
map=mymap
А в файле pg_ident.conf прописываю:
# MAPNAME SYSTEM-USERNAME PG-USERNAME
mymap Kirill postgres
Выдается ошибка:
$ psql
psql: ошибка: не удалось подключиться к серверу: ВАЖНО: не удалось загрузить pg_hba.conf