Сбросить пароль postgres mac os

Я забыл пароль, который ввел при установке postgres

Я либо забыл, либо набрал (во время установки) пароль для пользователя по умолчанию в 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

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

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

перезапустите сервер 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

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

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

Ниже показаны сброс пароля, неудачный вход в систему с аутентификацией 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 10, и проблема в моем случае заключалась в том, что я просто работал, psql и по умолчанию он пытался войти в систему с моим именем пользователя Windows («Натан»), но не было пользователя PostgreSQL с таким именем, и это не говорило мне об этом.

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

Читайте также:  Драйвера для asus f553m windows 10

Добавление ответа для пользователя 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 создается пользователь Windows. И «psql» использует этого пользователя для подключения к порту. Если вы измените пароль пользователя PostgreSQL, он не изменит пароль Windows. Командная строка juste ниже работает, только если у вас есть доступ к командной строке.

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

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

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

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

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

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

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

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

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

и войдите в postgres с помощью postgres / postgres в качестве пользователя / пароля

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

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

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

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

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

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

Источник

Я забыл пароль, который я ввел во время установки postgres

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

Читайте также:  Restart windows with command prompt

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

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

9 ответов

находим файл 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/ /main/pg_hba.conf и найдите следующую строку:

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Как убрать трей windows 10

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

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

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

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

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

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

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

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

Источник

Reset Forgotten Password For postgres User

Summary: in this tutorial, we will show you step by step how to reset the password of the postgres user in PostgreSQL.

For some reason, after installing PostgreSQL, you may forget the password of the postgres user. In this case, you need to know how to reset the password.

PostgreSQL uses the pg_hba.conf configuration file stored in the database data directory (e.g., C:\Program Files\PostgreSQL\12\data on Windows) to control the client authentication. The hba in pg_hba.conf means host-based authentication.

To reset the password for the postgres user, you need to modify some parameters in this configuration file, login as postgres without a password, and reset the password.

The following steps show you how to reset a password for the postgres user:

Step 1. Backup the pg_hba.conf file by copying it to a different location or just rename it to pg_hba.conf.bk

Step 2. Edit the pg_dba.conf file and change all local connections from md5 to trust. By doing this, you can log in to the PostgreSQL database server without using a password.

Step 3. Restart the PostgreSQL server. If you are on Windows, you can restart the PostgreSQL from Services:

Or run the following command from the window terminal:

The «C:\Program Files\PostgreSQL\12\data» is the data directory.

Step 4. Connect to PostgreSQL database server using any tool such as psql or pgAdmin:

PostgreSQL will not require a password to login.

Step 5. Execute the following command to set a new password for the postgres user.

Step 6. Restore the pg_dba.conf file, restart the PostgreSQL database server and connect to the PostgreSQL database server with the new password.

In this tutorial, you have learned how to reset the password of the postgres user.

Источник

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