В последнее время я использую PostgreSQL9.2 как в Windows 10, так и в Redhat (Linux). Но теперь я мало беспокоюсь об аутентификации доступа PostgreSQL. Поздно мне объяснить ...
Когда я впервые установил PostgreSQL в своей системе, я использовал два разных пароля для двух пользователей в роли postgres (по умолчанию) и adempiere (создан). В Redhat я использую команду psql -h localhost -U postgres db_name
и psql -h localhost -U adempiere db_name
. Иногда эта команда хочет пароль, иногда нет.
Недавно я использовал команду ALTER USER postgres WITH PASSWORD 'new_password';
и ALTER USER adempiere WITH PASSWORD 'new_password';
для изменения. Но здесь есть другая проблема. После изменения пароля при получении доступа к базе данных с помощью команды psql -h localhost -U adempiere db_name
, я могу получить доступ как с old_passwod
, так и с new_password
.
Что я могу сделать для строгой аутентификации в моей базе данных Windows 10 и Redhat (linux)?
Вот часть моего pg_hba.conf для справки:
# Put your actual configuration here
# ----------------------------------
#
# If you want to allow non-local connections, you need to add more
# "host" records. In that case you will also need to make PostgreSQL
# listen on a non-local interface via the listen_addresses
# configuration parameter, or via the -i or -h command line switches.
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all 192.168.2.151/32 trust
host all all 192.168.2.5/32 trust
host all all 192.168.2.6/32 trust
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication postgres md5
#host replication postgres 127.0.0.1/32 md5
#host replication postgres ::1/128 md5