Как узнать пароль postgresql
Сброс пароля в 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 тоже в статье сказано.
Так что с голой жопой останутся только такие же невнимательные как ты.
Глохни, петух. Как я смогу изменить пароль, если не могу на сервер зайти без пароля, придурок!
Виндовозники привыкли мышкой водить. Нет чтоб в терминале просто и со вкусом ALTER USER user_name WITH PASSWORD ‘new_password’;
Я забыл пароль, который я ввел во время установки postgres
Я либо забыл, либо ошибся (во время установки) пароль для пользователя Postgres по умолчанию. Кажется, я не могу запустить его, и я получаю следующую ошибку:
есть ли способ сбросить пароль или как создать нового пользователя с привилегиями суперпользователя?
Я новичок в Postgres и только что установил его в первый раз. Я пытаюсь использовать его с Rails, и я запускаю Mac OS X Lion.
9 ответов
cp pg_hba.conf pg_hba.conf-backup
поместите следующую строку (как первую незафиксированную строку или как единственную):
local all all trust
перезапустите сервер PostgreSQL (например, в Linux:)
sudo /etc/init.d/postgresql restart
если служба (демон) не запускает отчеты в файле журнала:
локальные соединения не поддерживаются этой сборкой
вы должны изменить
local all all trust
host all all 127.0.0.1/32 trust
(обратите внимание, что с первой командой вы не всегда будете на связи с локальным узлом)
ALTER USER my_user_name with password ‘my_secure_password’;
восстановить старую pg_hba.conf Как это очень опасно сохранить вокруг
cp pg_hba.conf-backup pg_hba.conf
перезагрузить сервер, в приказываю бежать с сейфом pg_hba.conf
sudo /etc/init.d/postgresql restart
ниже показан сброс пароля, неудачный вход с одноранговой аутентификацией и успешный вход с использованием TCP-соединения.
The pg_hba.conf ( C:\Program Files\PostgreSQL.3\data ) файл изменился с тех пор, как были даны эти ответы. Что сработало для меня в Windows, это открыть файл и изменить METHOD С md5 до trust :
Если вы находитесь в Windows, вы можете просто запустить
и войдите в postgres с postgres/postgres как пользователь / пароль
для установки Windows создается пользователь Windows. И «psql» использует этого пользователя для подключения к порту. Если вы измените пароль пользователя PostgreSQL, он не изменит пароль Windows. Командная строка juste ниже работает, только если у вас есть доступ к командной строке.
редактировать файл /etc/postgresql/ /main/pg_hba.conf и найдите следующую строку:
изменить строку и изменить md5 в конце trust и сохраните файл
перезагрузка postgresql сервис
это загрузит файлы конфигурации. Теперь вы можете изменить postgres пользователь, войдя на psql раковины
обновить postgres пароль пользователя
перезагрузка postgresql сервис
убедитесь, что изменение пароля работает
что я сделал, чтобы решить ту же проблему:
открыть файл pg_hba.conf файл с редактором gedit из терминала:
он будет запрашивать пароль. Введите пароль администратора. Это откроет gedit с файлом. Вставьте следующую строку:
сохранить и закрыть его. Закройте терминал, откройте его снова и выполните следующую команду:
теперь вы войдете в консоль psql. Теперь изменить пароль, введя это:
наконец, удалите определенную строку, вставленную в pg_hba, и сохраните ее.
этот файл должен содержать следующие строки формат:
имя хоста: порт: база данных: имя пользователя: пароль
(вы можете добавить комментарий напоминания в файл, скопировав строку выше и предшествующую ей #.) Каждое из первых четырех полей может быть литеральным значением или*, которое соответствует чему угодно. Будет использоваться поле пароля из первой строки, соответствующее текущим параметрам соединения. (Поэтому при использовании подстановочных знаков сначала ставьте более конкретные записи.) Если запись должна содержать : или \, избежать этого символа с. Имя хоста localhost соответствует подключениям TCP (имя хоста localhost) и Unix domain socket (pghost empty или каталог сокетов по умолчанию), поступающим с локального компьютера. На резервном сервере имя базы данных репликации соответствует потоковым соединениям репликации, выполненным на главном сервере. Поле базы данных имеет ограниченную полезность, поскольку пользователи имеют одинаковый пароль для всех баз данных в одном кластере.
/.pgpass. Если разрешения менее строгие, файл будет проигнорирован. В Microsoft Windows предполагается, что файл хранится в защищенном каталоге, поэтому проверка специальных разрешений не производится.
Я забыл пароль, который ввел при установке postgres
Я либо забыл, либо набрал (во время установки) пароль для пользователя по умолчанию в Postgres. Кажется, я не могу его запустить и получаю следующую ошибку:
Есть ли способ сбросить пароль или как создать нового пользователя с привилегиями суперпользователя?
Я новичок в Postgres и только что установил его впервые. Я пытаюсь использовать его с Rails, и я использую Mac OS X Lion.
cp pg_hba.conf pg_hba.conf-backup
поместите следующую строку (в качестве первой строки без комментариев или в качестве единственной):
Для всех случаев, описанных ниже (локальный и хост), в разделе репликации exepct, если у вас его нет, его необходимо изменить следующим образом, не должно присутствовать никакого подтверждения MD5 или Peer.
перезапустите сервер PostgreSQL (например, в Linux 🙂
sudo /etc/init.d/postgresql restart
Если служба (демон) не запускает отчеты в файле журнала:
локальные соединения не поддерживаются этой сборкой
ты должен измениться
local all all trust
host all all 127.0.0.1/32 trust
(обратите внимание, что с первой командой вы не всегда будете связаны с локальным хостом)
Сбросить пароль (‘замените my_user_name на postgres, так как вы сбрасываете пользователя postgres )
ALTER USER my_user_name with password ‘my_secure_password’;
Восстановите старое, так pg_hba.conf как держать его очень опасно
cp pg_hba.conf-backup pg_hba.conf
перезагрузите сервер, чтобы запустить с сейфом pg_hba.conf
sudo /etc/init.d/postgresql restart
Ниже показаны сброс пароля, неудачный вход в систему с аутентификацией PEER и успешный вход в систему с использованием TCP-соединения.
В противном случае:
Отредактируйте файл /etc/postgresql/ /main/pg_hba.conf и найдите следующую строку:
Отредактируйте строку и md5 в конце измените на trust и сохраните файл
Перезагрузите сервис postgresql
Это загрузит файлы конфигурации. Теперь вы можете изменить postgres пользователя, войдя в psql оболочку
Обновите postgres пароль пользователя
Отредактируйте файл /etc/postgresql/ /main/pg_hba.conf и trust вернитесь обратно md5 и сохраните файл
Перезагрузите сервис postgresql
Убедитесь, что смена пароля работает
У меня просто была эта проблема в Windows 10, и проблема в моем случае заключалась в том, что я просто работал, psql и по умолчанию он пытался войти в систему с моим именем пользователя Windows («Натан»), но не было пользователя PostgreSQL с таким именем, и это не говорило мне об этом.
Добавление ответа для пользователя Windows для последней версии postgres (> 10),
Откройте этот файл с помощью блокнота, найдите эту строку,
Измените метод с md5 на доверие,
Теперь перейдите в SQL Shell (PSQL) и оставьте все пустым,
На этот раз он не будет запрашивать пароль, и вы войдете в систему,
Теперь запустите эту строку, ALTER USER yourusername WITH SUPERUSER
Теперь вы можете покинуть оболочку с помощью \ q
Снова перейдите в файл pg_hba.conf, снова измените МЕТОД с доверия на md5 и сохраните его.
Теперь войдите под своим новым пользователем и паролем, и вы можете проверить \ du для его атрибутов.
Для установки Windows создается пользователь Windows. И «psql» использует этого пользователя для подключения к порту. Если вы измените пароль пользователя PostgreSQL, он не изменит пароль Windows. Командная строка juste ниже работает, только если у вас есть доступ к командной строке.
Вместо этого вы можете использовать приложение Windows GUI «c: \ Windows \ system32 \ lusrmgr.exe». Это приложение для управления пользователями, созданными Windows. Теперь вы можете изменить пароль.
Что я сделал, чтобы решить ту же проблему:
Откройте файл pg_hba.conf с помощью редактора gedit из терминала:
Он попросит пароль. Введите пароль для входа администратора. Это откроет Gedit с файлом. Вставьте следующую строку:
Сохраните и закройте его. Закройте терминал, снова откройте его и выполните команду:
Теперь вы войдете в консоль psql. Теперь измените пароль, введя это:
Наконец, удалите эту строку, вставленную в pg_hba, и сохраните ее.
Если вы находитесь в Windows, вы можете просто запустить
и войдите в postgres с помощью postgres / postgres в качестве пользователя / пароля
Этот файл должен содержать строки следующего формата:
Имя хоста: порт: база данных: имя пользователя: пароль
(Вы можете добавить комментарий напоминания в файл, скопировав строку выше и поставив перед ней знак #.) Каждое из первых четырех полей может быть буквальным значением или *, что соответствует чему угодно. Будет использовано поле пароля из первой строки, соответствующее текущим параметрам соединения. (Поэтому при использовании подстановочных знаков ставьте сначала более конкретные записи.) Если запись должна содержать: или \, экранируйте этот символ с помощью. Имя хоста localhost совпадает с соединениями TCP (имя хоста localhost) и сокета домена Unix (pghost empty или каталог сокета по умолчанию), поступающими с локального компьютера. На резервном сервере имя базы данных репликации соответствует подключению потоковой репликации к главному серверу. Поле базы данных имеет ограниченную полезность, поскольку пользователи имеют одинаковый пароль для всех баз данных в одном кластере.
Как посмотреть пароль PostgreSQL?
При запуске выдаёт ошибку:
The error ‘FATAL: password authentication failed for user «postgres»
‘ occurred
Нагуглил, что при установке Postgres выдаётся пароль, но я Postgres не устанавливал, он уже на компе был, может с виндой установился, не знаю. Как этот пароль посмотреть или новый создать? Операционка Windows 10.
И ещё ошибка с from psycopg2 import OperationalError, он просто не находит OperationalError.
И ещё ошибка с from psycopg2 import OperationalError, он просто не находит OperationalError
версия psycopg2 какая?
The error ‘FATAL: password authentication failed for user «postgres»
Проверяйте свой pg_hba.conf. Там нужна запись для 127.0.0.1 или localhost
Как этот пароль посмотреть или новый создать?
Инсталлятор может задавать какой-то пароль по умолчанию, а может и вообще не задавать (тогда юзер postgres не сможет входить по паролю). Вам нужно либо настроить в pg_hba.conf вход без пароля (метод trust), либо зайти через консоль/pgadmin и задать пароль:
ALTER ROLE postgres WITH PASSWORD ‘123’; или в psql \password
Soul1, не понял, что не работает.
Сервис запущен? Подключение через pgAdmin происходит?
И у вас вообще кластер инициализирован? В папке с pg_hba.conf есть куча папок: base, global, pg_*?
IDE может тупить. Запустите в питоне простейший скрипт
UPD: удалил из pg_hba.conf строку с local и в сервисах postgres снова стал успешно перезапускаться. Но в pgAdmin всё так же не получается создать сервер, ошибка Unable to connect to server:
FATAL: password authentication failed for user «test»
Ещё я не знал, что posgres вообще установлен и скачал 12 версию, а на компе оказалась 8.4 Они не будут конфликтовать или ещё что?
pg_hba.conf находится в папке share, там нет папок base, global, pg_*
Хотя везде прописал trust и posrgres перезапускал.
UPD: из трёх папок выше только в первой есть папка data и там папки base, global, pg_*
В общем, для начала переустановите postgres.
а как правильно переустановить, чтобы старые данные не удалились? Я просто не в курсе зачем вообще postgres был установлен на компе, он нужен системе или зачем он вообще?
вам лучше знать, чей комп-то?
Винде постгрес точно не нужен. Может у вас что-то там стояло типа 1С или open server.
UPD: из трёх папок выше только в первой есть папка data и там папки base, global, pg_*
Soul1, инструкция старая, на мой взгляд глупости есть (типа отключения UAC).
2) Удалите все папки постгреса (в Program Files, а также поищите по C:\Users\*\AppData). Проверьте, что сервисах ничего нет (services.msc). В реестре (regedit.exe) поиском найдите и удалите ключи, относящиеся к Postgres
4) Инсталлятор, по идее, сам создаст. Не делайте пока. Но папку юзера Postgres из C:\Users лучше удалить, если вдруг осталась
5) 6) забейте, все и так должно работать
Запускайте сразу инсталлятор от администратора (хотя он должен вроде сам попросить повышения привилегий). И можете, в принципе, указать ему путь для установки на другой диск, чтобы избежать возможных проблем с разрешениями
galaxy, уже методом тыка нашёл решение, проблема была с разрешением на запись в папку data. Запустить инсталлятор от имени админа не догадался (может и помогло бы). Я просто зашёл через учётку админа и оттуда запустил инсталлятор (наверное это тоже самое). Прочитал ещё, что до 8 версии postgres не требовал права администратора, а сейчас требует. Короче, усложнили жизнь новичкам. В принципе теперь всё работает, базы создавать могу, только в pgAdmin всё ещё отображается старая база, хотя я папку ту удалил. Видимо осталось в реестре что-то. Но через pgAdmin удалилось без проблем.
Я забыл свое имя пользователя и пароль PostgreSQL, что мне делать? [Дубликат]
9 ответов
Для установки Windows создается пользователь Windows. И «psql» использует этого пользователя для подключения к порту. Если вы измените пароль пользователя PostgreSQL, он не изменит Windows. Командная строка juste ниже работает только в том случае, если у вас есть доступ к командной строке.
Вместо этого вы можете использовать приложение Windows GUI «c: \ Windows \ system32 \ lusrmgr.exe». Это приложение управляет пользователями, создаваемыми Windows. Теперь вы можете изменить пароль.
Что я сделал для решения одной и той же проблемы:
Откройте файл pg_hba.conf с редактором gedit с терминала:
Он попросит пароль. Введите пароль администратора. Это откроет gedit с файлом. Вставьте следующую строку:
Сохраните и закройте. Закройте терминал и откройте его снова и запустите эту команду:
Теперь вы войдете в консоль psql. Теперь измените пароль, введя это:
Наконец, удалите эту определенную строку вставить в pg_hba и сохранить его.
Если вы находитесь в окнах, вы можете просто запустить
и войти в postgres с postgres / postgres в качестве пользователя / пароля
Этот файл должен содержать строки следующего формата:
hostname: port: database: username: password
(Вы можете добавить комментарий к файлу, скопировав строку выше и перед ней с помощью #.) Каждый из первых четырех поля могут быть буквальным значением или *, что соответствует чему-либо. Будет использовано поле пароля из первой строки, которое соответствует текущим параметрам соединения. (Поэтому сначала ставьте более конкретные записи, когда вы используете подстановочные знаки.) Если запись должна содержать: или \, скройте этот символ. Имя хоста localhost соответствует как TCP (имя хоста localhost), так и сокету Unix домена (pghost empty или каталог сокета по умолчанию), исходящие от локальной машины. На резервном сервере имя базы данных репликации соответствует потоковым соединениям репликации, сделанным на главный сервер. Поле базы данных имеет ограниченную полезность, поскольку пользователи имеют одинаковый пароль для всех баз данных в одном кластере.