Как узнать пароль postgresql linux
Изменение пароля для обычного пользователя происходит таким же образом. Пользователь root может поменять пароль любому пользователю.
2. Как установить PostgreSQL в автозапуск?
su - roottar 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 stopStopping 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 sathiyaShall 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 rameshCREATE 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';
Читайте также: