Psql требует пароль windows

Сброс пароля в 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

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

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

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

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

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

cp pg_hba.conf pg_hba.conf-backup

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

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

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

Читайте также:  Какие задания планировщик задач windows 10 можно отключить

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

(обратите внимание, что с первой командой вы не всегда будете связаны с локальным хостом)

Сбросить пароль (‘замените 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

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

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

Работа с -h localhost :

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

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

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

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

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

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

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

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

Отредактируйте файл /etc/postgresql/ /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 для его атрибутов.

У меня просто была эта проблема в Windows 10, и проблема в моем случае заключалась в том, что я просто запускал psql , и по умолчанию я пытался войти в систему с моим именем пользователя Windows (“Натан”), но не было пользователя PostgreSQL с это имя, и оно не говорило мне об этом.

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

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

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

Читайте также:  Adobe illustrator linux 2011

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

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

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

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

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

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

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

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

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

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

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

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

(Вы можете добавить комментарий напоминания к файлу, скопировав строку выше и предшествующую ей С#.) Каждое из первых четырех полей может быть буквальным значением или *, которое соответствует чему угодно. Будет использовано поле пароля из первой строки, которое соответствует текущим параметрам соединения. (Поэтому сначала ставьте более конкретные записи, когда вы используете подстановочные знаки.) Если запись должна содержать: или \, скройте этот символ. Имя хоста localhost соответствует как TCP (имя хоста localhost), так и сокету Unix домена (pghost empty или каталог сокета по умолчанию), исходящие от локальной машины. На резервном сервере имя базы данных репликации соответствует потоковым соединениям репликации, сделанным на главный сервер. Поле базы данных имеет ограниченную полезность, поскольку пользователи имеют одинаковый пароль для всех баз данных в одном кластере.

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

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

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

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

# IPv4 local connections: host all all 127.0.0.1/32 trust

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

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

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

Windows pgAdmin и пароли PostgreSQL

Добрый день, подскажите плиииз! Запутался окончательно!

Скачал с оф-сайта и установил Postgres9 на Windows. При установке меня заставили ввести целых 2 пароля. придумал сложные и ввел!

Подключаюсь на этом-же компьютере из pgAdmin (3 и 4 — на обоих пробовал) и успешно вхожу без пароля! вернее с ЛЮБЫМ паролем!
. ищу инструкцию по смене пароля (psql.exe -U postgres + \password), успешно меняю, и опять вхожу в pgAdmin (и 3, и 4) под ЛЮБЫМ паролем!

Что я сделал не так.

. планирую работать с Ps на линуксе, но разобраться с доступами хочу на винде и «графических» редакторах SQL-скриптов

Проблема с pgAdmin при установке PostgreSQL 11
Здравствуйте. Устанавливаю PostgreSQL 11. Сначала всё идёт как положено, установка внешне.

Запрос на вывод из базы PostgreSQL, PgAdmin III)
Здравствуйте, пытаюсь подключиться к базе и получить все данные по запросу, но ничего не.

Читайте также:  Запустить windows с отключенной проверкой драйвер

Пароли в Windows 7
Всем привет. скажу сразу хакер с меня ни какой. Моя проблема- сменил пароль в майле и вскоре.

Разные пароли на wi-fi в Windows 7 и 8
У меня есть роутер (маршрутизатор) Zyxel Keenetic 4G. У него на этикетке крышке написан пин-код для.

Решение

В 1С (бухгалтерская прога) можно базу подключить к постгресу (ожидается дикий прирост скорости по сравнению с не кешированным файловым хранилищем). Обычно все работают в win-терминалах на ЭТОМ-же компе (один приличный сервер на фирму в 10-20 компов). Далеко не каждый 1Сник умеет (и имеет желание) кроме 1С еще и заниматься линуксом.

А я пытался разобраться с принципами «ролей», чтобы понять как на линукс-сервере организовать «разграничение доступов». Хотел потренироваться сначала на локальной базе с «графическим» редактором/вювером pgAdmin и неожиданно «доступ не урезается». к серверной не получилось подключить pgAmdin

Кстати, можете по линукс (debian) версии проконсультировать? Поставил на хостинг постгрес, успешно работаю ИЗНУТРИ (node-сервер на том-же хостинге), но подключиться с домашнего компа на сервер не получается (под теми-же паролем/пользователем/базой/портом, но с реальным IP хоста) — «could not connect to server: Connection refused»!
Это те-же «настройки по дефолту» чтобы снаружи «случайно» не сломали? или у меня где-то руки кривые, а у остальных «работает из коробки»?

пробую разобраться с /etc/postgresql/9.1/main/pg_hba.conf
но пока безуспешно.

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

все остальное заремарено.

где-то на форуме предложили добавить:

после каждой модификации пробовал перегрузить через

То есть вы в операционной системе работаете в каком-то своем окружении под пользователем myuser, даете команду оболочке от имени пользователя postgres запустить команду коннект к базе данных через доменный сокет, который расположен в директории /var/lib/postgresql. Пользователь базы данных будет по умолчанию postgres, база данных, к которой подключаетесь, будет по умолчанию тоже postgres.

2 строчка)
local = понятно
all = понятно
all = разрешает доступ всем пользователям (которые созданы в СУБД командой CREATE ROLE/USER или утилитой createuser)
md5 = разрешает доступ, только если пользователь прошел проверку своего пароля, указанного при соединении с базой данных (то есть обычная проверка по паролю)
Все вместе означает, что эта строчка авторизует коннекты к базе, которые делаются примерно такой командой

В итоге получаем, что Ваш текущий pg_hba.conf разрешает соединения ТОЛЬКО внутри данного сервера всякими разными способами (через unix-сокеты, через tcp/ip v4 и v6).

Чтобы добавить коннект извне (из Интернета) надо добавить примерно следующую строчку

5) строчка
host = понятно
all = понятно
all = понятно
1.2.3.4/24 = IP-адрес и префикс (или плюс маска) того адреса, С КОТОРОГО вы будете соединяться с базой данных (это адрес вашего провайдера). Можно указать 0.0.0.0/0, тогда будет с любого адрес (что может быть НЕБЕЗОПАСНЫМ. ).
Вместе с добавлением этой строчки нужно убедиться, что в файле postgresql.conf
параметры listen_addresses и port выставлены верно
хотя бы так
listen_addresses=’*’
port = 5432

Если я где-то ошибся, верную информацию всегда можно найти в оф. документации

Добавлено через 12 минут
p.s. Да, надо добавить, что ряд команд, которые я выше упомянул имеют свои особенности применения в разных дистрибутивах linux (в частности sudo, работа которой обычно настраивается отдельно). Также иногда psql требует явного указания параметра -W, который однозначно требует ввода пароля пользователя перед процедурой аутентификации.
p.p.s. Также коннекты извне часто ограничиваются файрволами, которые по умолчанию включены в современных дистрибутивах.
p.p.p.s. Также может вмешиваться в работу SELinux, если он поднят по умолчанию (например, CentOS).

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

Оцените статью