Как узнать пароль postgresql windows
При запуске выдаёт ошибку:
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, зачем вам тут различать эти подробности.
Soul1, не понял, что не работает.
Сервис запущен? Подключение через pgAdmin происходит?
И у вас вообще кластер инициализирован? В папке с pg_hba.conf есть куча папок: base, global, pg_*?
IDE может тупить. Запустите в питоне простейший скрипт
Если работает - все ок с импортом.
galaxy, pg_hba.conf находится в папке share, там нет папок base, global, pg_*В службах есть строка 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 , которая не требует пароля, поэтому эта проблема уходит .
Читайте также: