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

Обновлено: 05.07.2024

Изменение пароля для обычного пользователя происходит таким же образом. Пользователь root может поменять пароль любому пользователю.

2. Как установить PostgreSQL в автозапуск?

su - root
tar xvfz postgresql-8.3.7.tar.gz
cd postgresql-8.3.7
cp contrib/start-scripts/linux /etc/rc.d/init.d/postgresql
chmod a+x /etc/rc.d/init.d/postgresql

3. Проверяем состояние сервера

4. Как запустить, остановить, перезапустить PostgreSQL?

service postgresql stop
Stopping PostgreSQL: server stopped
ok
service postgresql start
Starting PostgreSQL: ok
service postgresql restart
Restarting PostgreSQL: server stopped
ok

5. Как посмотреть какая версия PostgreSQL запущена?

5. Как создать пользователя в PostgreSQL?

Для этого существуют два метода..

Метод 1: Создаем пользователя в через PSQL шелл, командой CREATE USER.

CREATE USER ramesh WITH password ‘tmppassword’;
CREATE ROLE

Метод 2: Создаем пользователя в через шелл команду createuser.

/usr/local/pgsql/bin/createuser sathiya
Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) n
Shall the new role be allowed to create more new roles? (y/n) n
CREATE ROLE

6. Как создать базу в PostgreSQL ?

Для этого существует 2 метода.

Метод 1: Создаем базу черезе PSQL шелл, с помощью команды CREATE DATABASE.

CREATE DATABASE mydb WITH OWNER ramesh;
CREATE DATABASE

Метод 2: Используем команду createdb.

/usr/local/pgsql/bin/createdb mydb -O ramesh
CREATE DATABASE

7. Получаем список всех баз в Postgresql?

8. Как удалить базу в PostgreSQL?

9. Пользуемся встроенным хелпом к командам

Команда \? отобразит строку помощи для команда PSQL. \h CREATE покажет хелп для всех команд который начинаются с CREATE.

10. Как получить список всех таблиц в базе данный в Postgresql?

11. Как узнать время выполнения запроса?

— после выполения данной команды каждый последующий запрос будет показывать время выполнения.

12. Как посмотреть список доступных функций в PostgreSQL ?

Для того чтобы получить список доступных функций, скажите \df+

13. Как отредактировать запрос к PostgreSQL в редакторе?

\e откроет редактор, в котором вы можете отредактировать запрос и сохранить его.

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

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

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

Я пока не могу комментировать ответы, поэтому должен сделать это так. Я сделал то, что сказал SaiyanGirl, однако мне все еще нужно было ввести пароль, который был «postgres» для входа, затем я мог сбросить пароль

найти файл 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

этот ответ НЕ работал для меня, после того, как я выполню шаг 3, служба не запустится, я не знаю, может быть, это ОС (W8), просто она не будет. Помните, что порядок записей в pg_hba.conf важен. Если вы добавите «local all all trust» в конец файла, он не будет работать так, как вы ожидаете, так как предыдущие записи будут сопоставляться первыми. Поэтому поместите это в начало файла, чтобы получить то, что вы ожидаете. Если вы находитесь в Windows с этой ошибкой, продолжайте прокручивать до ответа @SaiyanGirl. Просто измените столбцы METHOD существующих записей на «trust», а затем измените его обратно, когда закончите

При подключении к 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

Это не работает, потому что PgAdmin по-прежнему запрашивает текущий пароль . Я сбросил на «доверие» и перезапустил PgAdmin. Все еще не могу сбросить, не введя ТЕКУЩИЙ пароль . После того, как вы измените метод, trust вы можете следовать этому и изменить пароль в cmd

Просто примечание, в 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? Не все используют Linux с sudo. Как бы я сделал это на Windows?

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

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

Добавление ответа для пользователя 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 в профиле пользователя).

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

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

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

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

Я либо забыл, либо ошибся (во время установки) пароль для пользователя 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 предполагается, что файл хранится в защищенном каталоге, поэтому проверка специальных разрешений не производится.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

hostname: port: database: username: password

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

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

Забыли пароль учетной записи postgres в PostgreSQL? Выполнить сброс не сложно. Для этого необходимо выполнить пару манипуляций.

1. Правим файл pg_hba.conf

Находим файл в папке Data директории установки PostgreSQL. В Windows путь выглядит примерно так c:\Program Files\PostgreSQL\9.2.4-1.1C\data\

В этом файле нужно найти такие строчки

Меняем 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';

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