Как изменить пароль пользователя PostgreSQL?
Чтобы изменить пароль пользователя postgres, выполните следующие действия.
- Войдите в psql:
- Затем в консоли psql измените пароль и выйдите:
или используя запрос
или в одну строку
Примечание:
Если это не сработает, перенастройте аутентификацию, отредактировав /etc/postgresql/9.1/main/pg_hba.conf (путь будет отличаться) и измените:
Затем перезапустите сервер:

Вы можете и должны зашифровать пароль пользователя:
Я считаю, что лучший способ изменить пароль — это просто использовать:
в консоли Postgres.
Caution must be exercised when specifying an unencrypted password with this command. The password will be transmitted to the server in cleartext, and it might also be logged in the client’s command history or the server log. psql contains a command \password that can be used to change a role’s password without exposing the cleartext password.
Примечание: ALTER USER это псевдоним для ALTER ROLE
Чтобы изменить пароль с помощью командной строки Linux, используйте:

Чтобы изменить пароль
теперь введите новый пароль и подтвердите

Перейдите в свою конфигурацию Postgresql и отредактируйте pg_hba.conf
sudo vim /etc/postgresql/9.3/main/pg_hba.conf
Затем измените эту строку:
затем перезапустите службу PostgreSQL с помощью команды SUDO, затем
Вы войдете и увидите терминал Postgresql
и введите НОВЫЙ пароль для пользователя Postgres по умолчанию. После успешного изменения пароля снова перейдите в pg_hba.conf и верните изменение на «md5»
теперь вы войдете в систему как
с новым паролем.
Дайте мне знать, если вы все найдете в нем какие-либо проблемы.

$ psql -U postgres psql: FATAL: Peer authentication failed for user «postgres»
Чтобы запросить новый пароль для пользователя postgres (не показывая его в команде):
Это был первый результат в Google, когда я искал, как переименовать пользователя, поэтому:
Пара других команд, полезных для управления пользователями:
Переместить пользователя в другую группу
Если вы на windows.
Откройте pg_hba.conf файл и измените с md5 на peer
Откройте cmd, введите psql postgres postgres
Затем введите \password запрос на ввод нового пароля.
Обратитесь к этому среднему сообщению для получения дополнительной информации и подробных шагов.
Конфигурация, которая у меня есть на моем сервере, была сильно настроена, и мне удалось изменить пароль только после того, как я установил доверительную аутентификацию в pg_hba.conf файле :
Не забудьте снова изменить его на пароль или md5
В моем случае на Ubuntu 14.04, установленной с postgres 10.3. Мне нужно выполнить следующие шаги
- su — postgres переключить пользователя на postgres
- psql войти в оболочку postgres
- \password затем введите свой пароль
- \q выйти из сеанса оболочки
Затем вы переключаетесь обратно на root, выполнив exit и настроив свой pg_hba.conf (мой находится в /etc/postgresql/10/main/pg_hba.conf ), убедившись, что у вас есть следующая строка
local all postgres md5

введите новый пароль, который вы хотите для этого пользователя, а затем подтвердите его. Если вы не помните пароль и хотите его изменить, вы можете войти в систему как postgres, а затем использовать это:

TL; DR:
Во многих системах учетная запись пользователя часто содержит точку или какую-то точку (пользователь: john.smith, horise.johnson). В этих случаях необходимо будет внести изменения в принятый выше ответ. Изменение требует, чтобы имя пользователя было заключено в двойные кавычки.
Рационально:
Postgres весьма разборчив в том, когда использовать «двойные кавычки», а когда «одинарные кавычки». Обычно при предоставлении строки вы используете одинарные кавычки.
Подобно другим ответам по синтаксису, но следует знать, что вы также можете передать md5 пароля, чтобы вы не передавали пароль в виде простого текста.
Вот несколько сценариев непредвиденных последствий изменения пароля пользователя в виде обычного текста.
- Если у вас нет SSL и вы изменяете удаленно, вы передаете пароль в виде обычного текста по сети.
- Если у вас есть конфигурация ведения журнала, настроенная на регистрацию операторов DDL log_statement = ddl или выше, то ваш пароль в виде обычного текста будет отображаться в журналах ошибок.
- Если вы не защищаете эти журналы, это проблема.
- Если вы собираете эти журналы / ETL и отображаете их там, где у других есть доступ, они могут в конечном итоге увидеть этот пароль и т. Д.
- Если вы позволяете пользователю управлять своим паролем, он неосознанно раскрывает пароль администратору или сотруднику нижнего уровня, которому поручено просматривать журналы.
С учетом вышесказанного, вот как мы можем изменить пароль пользователя, построив md5 пароля.
-
Postgres, когда хеширует пароль как md5, объединяет пароль с именем пользователя, а затем добавляет текст «md5» к результирующему хешу.
- В PowerShell:
- Итак, наконец, наша ALTER USER команда будет выглядеть так
The password is always stored encrypted in the system catalogs. The ENCRYPTED keyword has no effect, but is accepted for backwards compatibility. The method of encryption is determined by the configuration parameter password_encryption. If the presented password string is already in MD5-encrypted or SCRAM-encrypted format, then it is stored as-is regardless of password_encryption (since the system cannot decrypt the specified encrypted password string, to encrypt it in a different format). This allows reloading of encrypted passwords during dump/restore.
Сброс пароля в PostgreSQL
Забыли пароль учетной записи postgres в PostgreSQL? Выполнить сброс не сложно. Для этого необходимо выполнить пару манипуляций.
1. Правим файл pg_hba.conf
Находим файл в папке Data директории установки PostgreSQL. В Windows путь выглядит примерно так c:\Program Files\PostgreSQL\9.2.4-1.1C\data\
В этом файле нужно найти такие строчки
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 0.0.0.0/0 md5
# IPv6 local connections:
host all all ::1/128 md5Меняем md5 на trust.
2. Удаляем файл pgpass.conf
В Windows этот файл находится в c:\Users\Administrator\AppData\Roaming\postgresql\
Здесь хранится старый пароль от PostgreSQL. Простое изменение хранимого здесь пароля мне не помогло. Поэтому я его просто удалил.
3. Меняем пароль в pgAdmin
Запускаем pgAdmin и нам предлагается ввести пароль. Если отметить галочку сохранить, то пароль будет сохранен в pgpass.conf и больше программой запрашиваться не будет.
Чтобы обеспечить безопасность использования паролей необходимо вернуть алгоритм шифрования md5. Для этого в файле pg_hba.conf параметр trust обратно меняем на md5.
Для подключения на локальном компьютере к PostgreSQL с помощью psql, pg_dump в локальных адресах IPv4 127.0.0.1/32 и IPv6 ::1/128 значение trust нужно оставить.
5 thoughts on “ Сброс пароля в PostgreSQL ”
Ты не сменил и не сбросил пароль. Ты отключил все механизмы защиты, поэтому он теперь пускает не с новым паролем, а вообще с ЛЮБЫМ. Строка trust как раз и отключает проверку пароля. А файл pgpass.conf нужен для того что бы утилитка pgAdmin могла туда сохранить пароль и не спрашивать его больше. Именно поэтому он храниться в твоем профиле, что бы никто другой не мог туда зяглянуть.
Пароль пользователя меняется командой ALTER USER user_name WITH PASSWORD ‘new_password’;Удали статью, а то кучи начинающих «АДМИНОВ» понаоткрывают голую жопу по твоим советам.
- admin Автор записи 07.07.2019 в 16:05
Прежде чем писать такой комментарий
Строка trust как раз и отключает проверку пароля.
..внимательней читайте статью, там написано
параметр trust обратно меняем на md5
Про файл pgpass.conf тоже в статье сказано.
Так что с голой жопой останутся только такие же невнимательные как ты.Глохни, петух. Как я смогу изменить пароль, если не могу на сервер зайти без пароля, придурок!
Тебе выше написали, что параметры доступа в pg_hba.conf изменены так, чтобы пустить потом тебя БЕЗ пароля с localhost. Да, когда меняете этот файл, перещапускать БД не забывайте.
Потом влетай в консоль psql -Upostgres -W -hlocalhost c пустым паролем, и меняй себе его наздоровье.
Затем возверни настройки обратно в md5 и перезапусти БД.Виндовозники привыкли мышкой водить. Нет чтоб в терминале просто и со вкусом ALTER USER user_name WITH PASSWORD ‘new_password’;
Сброс пароля в PostgreSQL на Windows платформах
Забыли пароль учетной записи postgres в PostgreSQL? Выполнить сброс не сложно. Для этого необходимо выполнить пару манипуляций.
1. Правим файл pg_hba.conf
Находим файл в папке Data директории установки PostgreSQL. В Windows путь выглядит примерно так c:\Program Files\PostgreSQL\9.2.4-1.1C\data\
В этом файле нужно найти такие строчки
Меняем md5 на trust.
2. Удаляем файл pgpass.conf
В Windows этот файл находится в c:\Users\Administrator\AppData\Roaming\postgresql\
Здесь хранится старый пароль от PostgreSQL. Простое изменение хранимого здесь пароля мне не помогло. Поэтому я его просто удалил.
3. Меняем пароль в pgAdmin
Запускаем pgAdmin и нам предлагается ввести пароль. Если отметить галочку сохранить, то пароль будет сохранен в pgpass.conf и больше программой запрашиваться не будет.
Чтобы обеспечить безопасность использования паролей необходимо вернуть алгоритм шифрования md5. Для этого в файле pg_hba.conf параметр trust обратно меняем на md5.
Для подключения на локальном компьютере к PostgreSQL с помощью psql, pg_dump в локальных адресах IPv4 127.0.0.1/32 и IPv6 ::1/128 значение trust нужно оставить.