Как изменить пароль для пользователя PostgreSQL?
Для пароля меньше логина:
sudo -u user_name psql db_name
В reset пароль, если вы забыли:
ALTER USER 'user_name' WITH PASSWORD 'new_password';
Затем введите:
sudo -u postgres psql
Тогда:
\ password postgres
Затем выйти:
\ д
Если это не работает, перенастройте проверку подлинности.
Изменить /etc/postgresql/9.1/main/pg_hba.conf
(путь будет отличаться) и изменить:
local all all peer
в
local all all md5
Затем перезапустите сервер:
sudo service postgresql restart
Вы можете и должны иметь пароль пользователя зашифрован:
ALTER USER username WITH ENCRYPTED PASSWORD 'password';
The password is always stored encrypted in the system catalogs. The ENCRYPTED keyword has no effect, but is accepted for backwards compatibility.
Перейдите в свой Postgresql Config и Edit pg_hba.conf
sudo vim /etc/postgresql/9.3/main/pg_hba.conf
Затем измените эту строку:
Database administrative login by Unix domain socket
local all postgres md5
to:
Database administrative login by Unix domain socket
local all postgres peer
затем перезапустите службу PostgreSQL с помощью команды SUDO, затем
psql -U postgres
Теперь вы будете введены и увидите столбец Postgresql
затем введите
\password
и введите новый пароль для пользователя Postgres по умолчанию. После успешного изменения пароля снова перейдите к pg_hba.conf и верните изменение на "md5"
теперь вы войдете в систему как
psql -U postgres
с новым паролем.
Сообщите мне, если вы все найдете в нем какие-либо проблемы.
user@user-NC10:~$ psql -U postgres psql: FATAL: Peer authentication failed for user "postgres"
Чтобы сменить пароль с помощью командной строки Ubuntu, используйте:
sudo -u <user_name> psql -c "ALTER USER <user_name> PASSWORD '<new_password>';"
Это был первый результат в google, когда я смотрел, как переименовать пользователя, так:
ALTER USER <username> WITH PASSWORD '<new_password>'; -- change password
ALTER USER <old_username> RENAME TO <new_username>; -- rename user
Несколько других команд полезны для управления пользователями:
CREATE USER <username> PASSWORD '<password>' IN GROUP <group>;
DROP USER <username>;
Переместить пользователя в другую группу
ALTER GROUP <old_group> DROP USER <username>;
ALTER GROUP <new_group> ADD USER <username>;
Я считаю, что лучший способ изменить пароль - это просто:
\password
в консоли Postgres.
Источник:
Следует соблюдать осторожность при указании незашифрованного пароля с помощью этой команды. Пароль будет передан на сервер в cleartext, и он также может быть зарегистрирован в истории команд клиента или журнал сервера. psql содержит команду\пароль, которая может быть использована для изменения пароля роли без раскрытия пароля открытого текста.
из https://www.postgresql.org/docs/9.0/static/sql-alterrole.html.
\password username
Конфигурация, которая у меня на моем сервере была настроена очень часто, и мне удалось сменить пароль только после того, как я установил аутентификацию доверия в pg_hba.conf
файл:
local all all trust
Не забудьте изменить это на пароль или md5
sudo systemctl restart postgresql.service
rm ~/.psql_history