Как узнать пароль postgresql windows

Обновлено: 05.07.2024

При запуске выдаёт ошибку:
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

Зайти через консоль/pgadmin без пароля получится только, если в pg_hba.conf это настроено (обычно инсталлятор это делает, если нет - меняйте файл вручную и не забудьте рестартнуть постгрес).

Версия psycopg2 - 2.9.1. В одной статье в except был прописан OperationalError, в другой статье Error, ни так ни так не работает. Да работает вроде.
Ловите psycopg2.Error, зачем вам тут различать эти подробности.

61685bd4f1699260444724.jpg

galaxy,

61685c1727a83404260255.jpg

Хотя в __init__.py они импортированы Soul1, это IDE показывает или при вызове скрипта тоже ошибка вылазит? galaxy, IDE показывает. Сейчас в файле pg_hba.conf прописал host all all 127.0.0.1/32 trust, перезапустил через службы, всё равно не работает и через pgAdmin не даёт сервер создать. Пока тестил несколько раз перезапускал postgres и теперь он вообще не хочет перезапускаться через службы, перезагрузка ПК не помогает.

Soul1, не понял, что не работает.
Сервис запущен? Подключение через pgAdmin происходит?
И у вас вообще кластер инициализирован? В папке с pg_hba.conf есть куча папок: base, global, pg_*?

IDE может тупить. Запустите в питоне простейший скрипт

Если работает - все ок с импортом.

galaxy, pg_hba.conf находится в папке share, там нет папок base, global, pg_*

61689aa417612530199885.jpg

В службах есть строка posrgresql-8.4 - PostgreSQL Server 8.4 Когда я в первый раз зашёл его перезапустить, там были пункты "остановить", "перезапустить" и ещё какой-то. Я его несколько раз перезапускал и в итоге сейчас он выключен и включаться не хочет, есть только пункт "запустить", но он выполняется несколько минут и выдаёт ошибку.
Ещё я не знал, что posgres вообще установлен и скачал 12 версию, а на компе оказалась 8.4 Они не будут конфликтовать или ещё что?

Я либо забыл, либо ошибочно (во время установки) пароль для пользователя Postgres по умолчанию. Кажется, я не могу запустить его, и я получаю следующую ошибку:

В любом случае существует ли пароль reset или как создать нового пользователя с привилегиями суперпользователя?

Я новичок в Postgres и просто установил его в первый раз. Я пытаюсь использовать его с Rails, и я запускаю Mac OS X Lion.

Сделайте резервную копию

cp pg_hba.conf pg_hba.conf-backup

поместите следующую строку (в качестве первой строки без комментариев или в качестве единственной):

Для всего вхождения ниже (локального и хоста), кроме репликации раздел, если у вас его нет, он должен быть изменен следующим образом, нет MD5 или должно присутствовать одноранговое подтверждение.

перезапустите сервер PostgreSQL (например, в Linux 🙂

sudo /etc/init.d/postgresql restart

Если служба (демон) не запускает отчеты в файле журнала:

локальные соединения не поддерживаются этой сборкой

вы должны изменить

local all all trust

host all all 127.0.0.1/32 trust

Теперь вы можете подключиться как любой пользователь. Подключитесь как суперпользователь postgres (обратите внимание, что имя суперпользователя в вашей установке может быть другим. Например, в некоторых системах оно называется pgsql .)

psql -U postgres

psql -h 127.0.0.1 -U 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

При подключении к postgres из командной строки не забудьте добавить -h localhost в качестве параметра командной строки. Если нет, postgres попытается подключиться с использованием режима аутентификации PEER.

Ниже приведено reset пароля, неудачный вход с аутентификацией PEER и успешный вход в систему с использованием TCP-соединения.

Работа с -h localhost :

Затем, используя pgAdmin III, я вошел в систему, не используя пароль и сменив пароль пользователя postgres' , перейдя в File -> Change Password

Просто заметьте, на Linux. Вы можете просто запустить sudo su - postgres чтобы стать пользователем postgres и оттуда изменить то, что требуется с помощью psql.

Отредактируйте файл /etc/postgresql/<version>/main/pg_hba.conf и найдите следующую строку:

Отредактируйте строку и измените md5 в конце на trust и сохраните файл

Перезагрузите службу postgresql

Это загрузит файлы конфигурации. Теперь вы можете изменить пользователя postgres , войдя в оболочку psql

Обновите пароль пользователя postgres

Отредактируйте файл /etc/postgresql/<version>/main/pg_hba.conf и измените trust на md5 и сохраните файл

Перезагрузите службу postgresql

Убедитесь, что смена пароля работает

Добавление ответа для пользователя Windows для последней версии postgres (> 10),

Перейдите к месту установки postgres и найдите pg_hba.conf , вы найдете его в ..\postgres\data\pg_hba.conf

Откройте этот файл с помощью блокнота, найдите эту строку,

Измените метод с md5 на доверие,

Теперь перейдите в SQL Shell (PSQL) и оставьте все пустым,

На этот раз он не будет запрашивать пароль, и вы войдете в систему,

Теперь запустите эту строку, ALTER USER yourusername WITH SUPERUSER

Теперь вы можете покинуть оболочку с помощью \q

Снова перейдите в файл pg_hba.conf, измените МЕТОД с доверия на md5 и сохраните его.

Теперь войдите под своим новым пользователем и паролем, и вы можете проверить \du для его атрибутов.

Поэтому решение состояло в том, чтобы запустить psql -U postgres , а не просто psql , и тогда пароль, который я ввел при установке, сработал.

Что я сделал для решения одной и той же проблемы:

Откройте файл pg_hba.conf с редактором gedit с терминала:

Он запросит пароль. Введите пароль администратора.
Это откроет gedit с файлом. Вставьте следующую строку:

Сохраните и закройте его.
Закройте терминал и откройте его снова и выполните следующую команду:

Теперь вы войдете в консоль psql.
Теперь измените пароль, введя это:

Если он говорит, что пользователь не существует, вместо ALTER используйте CREATE .

Наконец, удалите эту определенную строку, которую вы вставили в pg_hba, и сохраните ее.

Если вы находитесь в окнах, вы можете просто запустить

и войти в postgres с postgres/postgres как пользователь/пароль

Файл .pgpass в домашнем каталоге пользователя или файл, на который ссылается PGPASSFILE, может содержать пароли, которые будут использоваться, если для соединения требуется пароль (и пароль не указан иначе). В Microsoft Windows файл называется% APPDATA%\postgresql\pgpass.conf(где% APPDATA% относится к подкаталогу данных приложения в профиле пользователя).

Этот файл должен содержать строки следующего формата:

имя хоста: порт: база данных: имя пользователя: пароль

В системах Unix разрешения на .pgpass должны запрещать любой доступ к миру или группе; это достигается командой chmod 0600

/.pgpass. Если разрешения менее строгие, чем этот, файл будет проигнорирован. В Microsoft Windows предполагается, что файл хранится в безопасном каталоге, поэтому специальная проверка прав доступа не производится.

Вот что у меня сработало на windows:

Отредактируйте файл pg_hba.conf, расположенный в C:\Program Files\PostgreSQL\9.3\data.

Измените метод с доверия на md5 и перезапустите службу postgres в Windows.

После этого вы можете войти, используя postgres, без пароля, используя pgadmin. Вы можете изменить пароль, используя File-> Изменить пароль.

Если пользователь postgres не имеет привилегий суперпользователя, вы не можете изменить пароль. В этом случае войдите в систему с другим пользователем (pgsql) с правами суперпользователя и предоставьте привилегии другим пользователям, щелкнув правой кнопкой мыши по пользователям и выбрав properties-> Ролевые привилегии.

Я либо забыл, либо ошибся (во время установки) пароль для пользователя Postgres по умолчанию. Кажется, я не могу запустить его, и я получаю следующую ошибку:

есть ли способ сбросить пароль или как создать нового пользователя с привилегиями суперпользователя?

Я новичок в Postgres и только что установил его в первый раз. Я пытаюсь использовать его с Rails, и я запускаю Mac OS X Lion.

находим файл pg_hba.conf - Он может быть расположен, например, в /etc/postgresql-9.1/pg_hba.conf .

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

теперь вы можете подключиться как любой пользователь. Подключение в качестве суперпользователя postgres (обратите внимание, имя суперпользователя может отличаться в вашей установке. В некоторых системах это называется pgsql , для образец.)

psql -U postgres

psql -h 127.0.0.1 -U 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

при подключении к Postgres из командной строки, Не забудьте добавить -h localhost как параметр командной строки. Если нет, postgres попытается подключиться в режиме одноранговой аутентификации.

ниже показан сброс пароля, неудачный вход с одноранговой аутентификацией и успешный вход с использованием TCP-соединения.

работает с -h localhost :

The pg_hba.conf ( C:\Program Files\PostgreSQL.3\data ) файл изменился с тех пор, как были даны эти ответы. Что сработало для меня в Windows, это открыть файл и изменить METHOD С md5 до trust :

затем, используя pgAdmin III, я вошел в систему без пароля и изменил пользователя postgres' пароль, перейдя к File -> Change Password

просто примечание, на Linux вы можете просто запустить sudo su - postgres чтобы стать пользователем postgres и оттуда изменить то, что требуется с помощью psql.

Если вы находитесь в Windows, вы можете просто запустить

и войдите в postgres с postgres/postgres как пользователь / пароль

для установки Windows создается пользователь Windows. И "psql" использует этого пользователя для подключения к порту. Если вы измените пароль пользователя PostgreSQL, он не изменит пароль Windows. Командная строка juste ниже работает, только если у вас есть доступ к командной строке.

вместо этого вы можете использовать приложение Windows GUI "c:\Windows\system32\lusrmgr - . исполняемый." Это приложение управляет пользователями, созданными Windows. Теперь вы можете изменить пароль.

редактировать файл /etc/postgresql/<version>/main/pg_hba.conf и найдите следующую строку:

изменить строку и изменить md5 в конце trust и сохраните файл

перезагрузка postgresql сервис

это загрузит файлы конфигурации. Теперь вы можете изменить postgres пользователь, войдя на psql раковины

обновить postgres пароль пользователя

редактировать файл /etc/postgresql/<version>/main/pg_hba.conf , и trust на md5 и сохраните файл

перезагрузка postgresql сервис

убедитесь, что изменение пароля работает

что я сделал, чтобы решить ту же проблему:

открыть файл pg_hba.conf файл с редактором gedit из терминала:

он будет запрашивать пароль. Введите пароль администратора. Это откроет gedit с файлом. Вставьте следующую строку:

сохранить и закрыть его. Закройте терминал, откройте его снова и выполните следующую команду:

теперь вы войдете в консоль psql. Теперь изменить пароль, введя это:

если он говорит, что пользователя не существует, то вместо ALTER использовать CREATE .

наконец, удалите определенную строку, вставленную в pg_hba, и сохраните ее.

файл .pgpass в домашнем каталоге пользователя или файле, на который ссылается PGPASSFILE, может содержать пароли для использования, если для подключения требуется пароль (и пароль не указан иначе). В Microsoft Windows файл называется %APPDATA%\postgresql\pgpass.conf (где %APPDATA% относится к подкаталогу данных приложения в профиле пользователя).

этот файл должен содержать следующие строки формат:

имя хоста: порт: база данных: имя пользователя: пароль

в системах Unix, разрешения на .pgpass должны запретить любой доступ к миру или группы; добиться этого с помощью команды chmod 0600

/.pgpass. Если разрешения менее строгие, файл будет проигнорирован. В Microsoft Windows предполагается, что файл хранится в защищенном каталоге, поэтому проверка специальных разрешений не производится.

Сегодня утром я пытаюсь подключить базу данных PostgreSQL на рабочем столе Windows 7 Professional.

Значение по умолчанию - «postgres», но, конечно же, я забыл, какой пароль я использовал, когда я его первоначально установил.

"Произошла системная ошибка 5. Доступ запрещен."

системная ошибка. Как избежать этой ошибки и сбросить пароль?

3 ответа

(Примечание. Это не очень важно для читателей, использующих PostgreSQL 9.2 или выше, из установщиков EDB, которые теперь имеют значительно упрощенную установку по умолчанию , используя NETWORK SERVICE , хотя вы можете настроить другие учетные записи) .

Сброс (или попытка сброса) пароля учетной записи службы. PostgreSQL не запускается в качестве администратора по соображениям безопасности, и установщик обычно устанавливает его с учетной записью пользователя postgres в PostgreSQL 9.1 и старше 1 . В Windows вы не можете запустить службу как пользователь, не сохраняя пароль пользователя в реестре, так что это делает установщик.

К счастью, я думаю, что другая ошибка помешала вам сделать это. Похоже, что вы, вероятно, запускаете свою командную строку, не используя «Запуск от имени администратора» в непривилегированной учетной записи пользователя 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 , которая не требует пароля, поэтому эта проблема уходит .

Читайте также: