PostgreSQL изменить пароль пользователя
В этом учебном пособии вы узнаете, как изменить пароль пользователя в PostgreSQL с синтаксисом и примерами.
Описание
Оператор ALTER USER используется для изменения пароля пользователя в базе данных PostgreSQL.
Синтаксис
Синтаксис для изменения пароля с помощью оператора ALTER USER в PostgreSQL:
ALTER USER user_name
WITH [ ENCRYPTED | UNENCRYPTED ] PASSWORD ‘new_password’
| VALID UNTIL ‘expiration’;
Параметры или аргументы
user_name Пользователь, пароль которого вы хотите изменить. new_password Новый пароль, который будет назначен пользователю. expiration Дата / время, когда срок действия пароля истечет. Если вы не хотите, чтобы срок действия пароля истек, установите для expiration значение ‘infinity’.
Пример
Рассмотрим пример, который показывает, как использовать оператор ALTER USER в PostgreSQL для изменения пароля.
Например, если вы хотите обновить пользователя с именем trizor паролем zubastik , вы должны выполнить следующий оператор ALTER USER в PostgreSQL:
PostgreSQL как правильно изменить пароль на пользователя postgres
Начал программировать, пока не полезли ошибки в php на некоторые функции, о том что при обращении к БД, нужно чтобы пользователь обязательно был с паролем.
Пробовал через phppgadmin задать пароль, но ничего не выходит.
#1
16:01, 28 мая 2013
> Пробовал через phppgadmin задать пароль, но ничего не выходит.
Ясное дело, пароль хешируется. Подключись к базе через консоль, измени пароль юзера.
http://www.postgresql.org/docs/8.0/static/sql-alteruser.html
#2
21:18, 28 мая 2013
Запрос прошел удачно, но как я понял пароль так и не появился в БД похоже. Ошибки так и сыпятся
#3
22:11, 28 мая 2013
А из консоли твой юзер может достучаться до базы?
psql -W -U
#4
22:31, 28 мая 2013
Ghost2
Я ступил — делал SQL запрос. Как мне в консоль попасть? Просто через командную строку сделать команду?
#5
23:35, 28 мая 2013
> Как мне в консоль попасть?
Я же написал выше. У OpenServer есть консоль?
#6
23:50, 28 мая 2013
Ghost2
В общем с помощью psql -W -U я вошел в БД
Но я что-то не пойму когда мне это писать ALTER USER postgres WITH PASSWORD ‘пароль_мой’;
#7
1:14, 29 мая 2013
Kavis
> Но я что-то не пойму когда мне это писать ALTER USER postgres WITH PASSWORD
> ‘пароль_мой’;
Прямо в консоли и пиши
#8
23:52, 30 мая 2013
D:\WebServers\web4\OpenServer>psql ALTER USER postgres WITH PASSWORD ‘parol’;
psql: предупреждение: лишний аргумент «postgres» проигнорирован
psql: предупреждение: лишний аргумент «WITH» проигнорирован
psql: предупреждение: лишний аргумент «PASSWORD» проигнорирован
psql: предупреждение: лишний аргумент «‘parol’;» проигнорирован
psql: ВАЖНО: роль «USER» не существует
#9
0:15, 31 мая 2013
Сделал так
Входим в БД
psql -W -U postgres postgres
postgres=# ALTER USER postgres PASSWORD ‘postgres’
postgres-# \password postgres
Введите новый пароль:
Повторите его:
Пароли не совпадают.
postgres-# \password postgres
Введите новый пароль:
Повторите его:
postgres-#
В итоге пароль не сменился
#10
0:38, 31 мая 2013
Kavis
> Не помогает((
Потому что ты зашел скорее всего не под суперпользователем.
#11
0:41, 31 мая 2013
Какое-то издевательство:
в pg_hba.conf изменить метод авторизации для localhost с trust на парольный. (password)
В итоге
ОТМЕТКА: принято подключение: узел=127.0.0.1 порт=58846
ВАЖНО: пользователь «postgres» не прошёл проверку подлинности (по паролю)
Смотрю на всякий случай пароль C:\Users\Kavis\AppData\Roaming\postgresql\pgpass.conf
Пароль тот же самый, который я ввел
В чем проблема?, что тут еще нужно сделать.
#12
0:58, 31 мая 2013
Kavis
> C:\Users\Kavis
А запускаешь ты под тем же самым пользователем? Или под пользователем postgres?
#13
14:22, 31 мая 2013
В винде я сижу под Kavis, у меня конечно были мысли что нужно создать пользователя postgres, я его создал, но не пробовл из под него работать.
#14
16:11, 31 мая 2013
Kavis
> В винде я сижу под Kavis, у меня конечно были мысли что нужно создать
> пользователя postgres, я его создал, но не пробовл из под него работать.
У тебя не возникало мысли, что пользователь postgres возможно не может читать файл в директории C:\Users\Kavis ?
Я с постгресом работал мало, но в линуксе он требует прав 600 на файл и отказывается запускаться иначе.
Пароль пользователя postgres
Пароль пользователя postgres задается при добавлении пользователя изначально, обе операции выполняются одной командой. Пароль в любой момент можно поменять.
Как задать пароль при добавлении пользователя и БД
Команды по администрированию базами и пользователями выполняются от имени системного пользователя postgres
root может стать им выполнив su — postgres
Затем можно без пароля попасть в интерфейс БД psql

Или то же самое одной командой
Пользователь может создать базу
Затем добавить пользователя и задать для него пароль
=# create user appadmin with encrypted password ‘jdfh8jhtghnjkfrvhyu’;
После этого пользователю нужно дать права для работы с базой данных
=# grant all privileges on database ‘db1’ to appadmin;
Postgres будет выводить сообщения об успешном выполнении каждой из операций:

Изменить пароль пользователя Postgres
Команда для изменения паролей уже существующих пользователей, выполняется из консоли psql
=# alter user appadmin with encrypted password ‘NEW_STRONG_PASSWORD’;
Сменим пароль для созданного ранее пользователя appadmin

Сервис также выдает сообщение ALTER ROLE, которое говорит о том, что операция прошла успешно.
Непосредственно для системного пользователя postgres (с его правами выполняются процессы сервиса) пароль не нужен, им может стать root выполнив su как показано ранее. Если нужна авторизация root может установить для postgres новый пароль
Затем пароль нужно ввести дважды, отображаться он не будет. На правах пользователей в самой СУБД это не скажется.
Пользователь appadmin из примера выше — не системный, он существует только в postgresql.
Подключаться к базе из консоли от имени этого пользователя нужно указывая имя базы и ключ -W
psql -h myhost -d db1 -U appadmin -W
Последний ключ не обязателен, но без него в интерактивном режиме в некоторых версиях СУБД не будет запрашиваться пароль, пароль должен запрашиваться.
Про создание дампов баз данных Postgres и их загрузку.
ezhov-da / sql-postgres-Изменение пароля пользователя postgres.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
| Полезные ссылки: |
| 1. http://profhelp.com.ua/articles/postgresql-%D0%BA%D0%B0%D0%BA-%D1%81%D0%B1%D1%80%D0%BE%D1%81%D0%B8%D1%82%D1%8C-%D0%BF%D0%B0%D1%80%D0%BE%D0%BB%D1%8C-%D1%81%D1%83%D0%BF%D0%B5%D1%80%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F |
| 2. https://stackoverflow.com/questions/37234940/centos-locate-command-doesnt-work |
| 3. https://stackoverflow.com/questions/19674456/run-postgresql-queries-from-the-command-line |
| Может произойти так, что ты забыл пароль от пользователя postgres. |
| Но не беда, его можно восстановить, для этого: |
| 1. Открой файл: pg_hba.conf |
| Не знаешь где он лежит? Воспользуйся командой: locate pg_hba.conf |
| Не работает команда? Установи ее командами: yum install mlocate и updatedb |
| 2. Измени в файле строку: |
| local all postgres md5 |
| на |
| local all postgres trust |
| 3. Перезапусти сервис: systemctl restart postgresql-9.3.service |
| 4. Зайди в командную строку psql командой: psql -U postgres |
| 5. Введи команду: alter user postgres with password ‘newpasswod’; |
| 6. Нажми «Enter» |
| 7. Для выхода из командной строки нажми набери \q + Enter |
| 8. Проверь, что теперь ты можешь авторизоваться в БД под пользователем postgres и с указанным тобою паролем |
| 9. Все получилось? |
| Измени строку в файле снова на: local all postgres md5 |
| 10. Перезапусти сервис: systemctl restart postgresql-9.3.service |
| 11. Profit! |