- удалить требование пароля для пользователя postgres
- Сброс пароля в PostgreSQL
- 5 thoughts on “ Сброс пароля в PostgreSQL ”
- удалить пароль для пользователей postgres
- 3 ответа
- Забыли пароль PostgreSQL для Windows
- 3 ответа
- Пароль пользователя postgres — как задать и изменить пароль
- Изменить пароль пользователя Postgres
удалить требование пароля для пользователя postgres
Я понимаю, что после установки PostgreSQL не имеет пароля для своего пользователя root (postgres):
. и рекомендуется установить его с:
(и затем обновите pg_hba.conf файл соответственно)
Мой вопрос: какой SQL использовать, чтобы вернуться к предыдущей ситуации, когда пользователю не требовался пароль postgres .
В общем, как я могу удалить требование пароля для любой роли? Я спрашиваю не о том, как изменить пароль, а о том, как удалить требование к паролю (пустой passwd столбец в таблице pg_shadow ).
Требуется ли пароль или нет, не имеет никакого отношения pg_shadow и фактически ли пароль определен для пользователя. Да, я знаю, это странно.
pg_hba.conf контролирует метод аутентификации. Если вы хотите запросить пароль, используйте md5 аутентификацию. Если вы хотите разрешить вход без пароля никому, используйте trust . Если вы хотите указать то же имя пользователя в операционной системе, что и в PostgreSQL, используйте peer (UNIX, только для локальных подключений) или sspi (Windows).
Если пароль установлен, но pg_hba.conf PostgreSQL не запрашивает его, пароль игнорируется.
Если pg_hba.conf PostgreSQL сообщает, что нужно запрашивать пароль, но он не задан, то все попытки входа в систему завершатся неудачей, независимо от того, какой пароль указан.
Пользователь postgres по умолчанию не имеет пароля. Чтобы удалить пароль пользователя (в данном случае для пользователя / роли postgres):
Сброс пароля в 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’;
Удали статью, а то кучи начинающих «АДМИНОВ» понаоткрывают голую жопу по твоим советам.
Прежде чем писать такой комментарий
Строка trust как раз и отключает проверку пароля.
..внимательней читайте статью, там написано
параметр trust обратно меняем на md5
Про файл pgpass.conf тоже в статье сказано.
Так что с голой жопой останутся только такие же невнимательные как ты.
Глохни, петух. Как я смогу изменить пароль, если не могу на сервер зайти без пароля, придурок!
Тебе выше написали, что параметры доступа в pg_hba.conf изменены так, чтобы пустить потом тебя БЕЗ пароля с localhost. Да, когда меняете этот файл, перещапускать БД не забывайте.
Потом влетай в консоль psql -Upostgres -W -hlocalhost c пустым паролем, и меняй себе его наздоровье.
Затем возверни настройки обратно в md5 и перезапусти БД.
Виндовозники привыкли мышкой водить. Нет чтоб в терминале просто и со вкусом ALTER USER user_name WITH PASSWORD ‘new_password’;
удалить пароль для пользователей postgres
Я понимаю, что после установки PostgreSQL не имеет пароля для пользователя db root (postgres):
. и рекомендуется установить его с помощью:
(а затем обновите файл pg_hba.conf )
Мой вопрос: что SQL должен использовать, чтобы вернуться к предыдущей ситуации, когда пароль для пользователя postgres не нужен.
В общем, как я могу удалить требование пароля для любой роли? Я не спрашиваю, как изменить пароль, а как удалить требование пароля (нуль passwd ) в таблице pg_shadow ).
3 ответа
Требуется ли пароль или нет, не имеет никакого отношения к pg_shadow и действительно ли пароль определен для пользователя. Да, я знаю, это странно.
pg_hba.conf управляет методом аутентификации. Если вы хотите запросить пароль, используйте аутентификацию md5 . Если вы хотите разрешить логин без пароля кому-либо, используйте trust . Если вы хотите использовать одно и то же имя пользователя в операционной системе, как в PostgreSQL, используйте peer (UNIX, только для локальных подключений) или sspi (Windows).
Если установлен пароль, но pg_hba.conf не сообщает PostgreSQL об этом, пароль игнорируется.
Если pg_hba.conf сообщает PostgreSQL о запросе пароля, но он не установлен, все попытки входа будут терпеть неудачу независимо от того, какой пароль предоставляется.
По умолчанию пользователь postgres не имеет пароля. Чтобы удалить пароль пользователя (в этом случае для пользователя /роли postgres):
Забыли пароль PostgreSQL для Windows
Сегодня утром я пытаюсь подключить базу данных PostgreSQL на рабочем столе Windows 7 Professional.
Значение по умолчанию — «postgres», но, конечно же, я забыл, какой пароль я использовал, когда я его первоначально установил.
У меня есть googled и найдено сообщение , связанное с сбросом ваш пароль. Я последовал за этими шагами, но конечный результат немного отличается от упомянутого в сообщении. Я использовал «
, чтобы сбросить пароль для моей базы данных, но вместо успешного сообщения, которое я получаю:
«Произошла системная ошибка 5. Доступ запрещен.»
системная ошибка. Как избежать этой ошибки и сбросить пароль?
3 ответа
(Примечание. Это не очень важно для читателей, использующих PostgreSQL 9.2 или выше, из установщиков EDB, которые теперь имеют значительно упрощенную установку по умолчанию , используя NETWORK SERVICE , хотя вы можете настроить другие учетные записи) .
Я использовал net user postgres postgres для сброса пароля для моей базы данных, но вместо успешного сообщения я получаю «System error 5 has occurred. Access is denied.»
Сброс (или попытка сброса) пароля учетной записи службы. PostgreSQL не запускается в качестве администратора по соображениям безопасности, и установщик обычно устанавливает его с учетной записью пользователя postgres в PostgreSQL 9.1 и старше 1 . В Windows вы не можете запустить службу как пользователь, не сохраняя пароль пользователя в реестре, так что это делает установщик.
Если вы измените пароль для учетной записи пользователя Windows postgres , служба PostgreSQL больше не сможет запускаться. Так что не делайте этого, вам нужно будет исправить конфигурацию службы, чтобы сохранить обновленный пароль.
К счастью, я думаю, что другая ошибка помешала вам сделать это. Похоже, что вы, вероятно, запускаете свою командную строку, не используя «Запуск от имени администратора» в непривилегированной учетной записи пользователя Windows или машине с UAC, поэтому она не работает с правами доступа, необходимыми для изменения пароля для postgres .
Прежде чем пытаться изменить этот пароль, убедитесь, что это действительно то, что вы хотите сделать. В чем проблема, которую вы пытаетесь решить здесь? Вы пытаетесь установить обновление базы данных или что-то еще, запрашивающее пароль для пользователя postgres Windows?
Скорее всего, вы просто пытаетесь войти в базу данных. Для этого вы используете (к сожалению, полностью несвязанный) пароль, хранящийся в базе данных сам. Поскольку вы потеряли /забыли, вам придется его сбросить:
- Найдите pg_hba.conf , обычно в C:\Program Files\PostgreSQL\9.1\data\pg_hba.conf
- При необходимости установите для него разрешения, чтобы вы могли его изменить; ваша учетная запись пользователя может оказаться неспособной сделать это, пока вы не включите вкладку безопасности в диалоговом окне свойств, чтобы получить это право, используя переопределение администратора. В качестве альтернативы найдите в меню «Пуск» блокнот /блокнот ++, выберите «Запуск от имени администратора», затем нажмите «Файл» и «Открыть», чтобы открыть pg_hba.conf ).
Отредактируйте его, чтобы установить строку «хозяина» для пользователя «postgres» на хосте «127.0.0.1/32» для «доверия». Вы можете добавить строку, если ее нет; просто вставьте:
перед любые другие строки. (Вы можете игнорировать комментарии, строки, начинающиеся с # ).
Перезапустите службу PostgreSQL с панели управления Services (start-> run-> services.msc )
1. 9.2 теперь использует учетную запись NETWORKSERVICE , которая не требует пароля, поэтому эта проблема уходит .
Вам нужно различать пользователя вашей системы (Windows), называемого «postgres», и пользователя базы данных с тем же именем.
Пароль пользователя postgres — как задать и изменить пароль
Команды по администрированию базами и пользователями выполняются от имени системного пользователя postgres
root может стать им выполнив su — postgres
Затем можно без пароля попасть в интерфейс БД psql
Или то же самое одной командой
Пользователь может создать базу
Затем добавить пользователя и задать для него пароль
=# create user appadmin with encrypted password ‘jdfh8jhtghnjkfrvhyu’;
После этого пользователю нужно дать права для работы с базой данных
=# grant all privileges on db1 mydb to appadmin;
Изменить пароль пользователя Postgres
Пользователя можно создавать и задавать ему пароль двумя раздельными командами
sudo -u postgres createuser anotheruser
Вторая служит для изменения паролей уже существующих пользователей, выполняется из консоли psql
=# alter user anotheruser with encrypted password ‘NEW_STRONG_PASSWORD’;
Непосредственно для системного пользователя postgres пароль не нужен, им может стать root выполнив su как показано ранее. Если нужна авторизация root может установить для postgres новый пароль
Затем пароль нужно ввести дважды, отображаться он не будет.
Пользователь appadmin — не системный, он существует только в postgresql.
Подключаться к базе из консоли от имени этого пользователя нужно указывая имя базы и ключ -W
psql -h myhost -d db1 -U appadmin -W
Последний ключ не обязателен, но без него в интерактивном режиме в некоторых версиях СУБД не будет запрашиваться пароль, пароль должен запрашиваться.
Про создание дампов баз данных Postgres и их загрузку.