как узнать пароль postgresql linux
Linux и Windows: помощь админам и пользователям
Администрируем и настраиваем Windows, Linux.
15 команд для управления PostgreSQL
В этой статье я покажу 15 наиболее полезных команд для управления postgreSQL.
1. Как изменить root пароль в PostgreSQL?
Изменение пароля для обычного пользователя происходит таким же образом. Пользователь root может поменять пароль любому пользователю.
2. Как установить PostgreSQL в автозапуск?
3. Проверяем состояние сервера
4. Как запустить, остановить, перезапустить PostgreSQL?
5. Как посмотреть какая версия PostgreSQL запущена?
5. Как создать пользователя в PostgreSQL?
Для этого существуют два метода..
Метод 1: Создаем пользователя в через PSQL шелл, командой CREATE USER.
Метод 2: Создаем пользователя в через шелл команду createuser.
Для этого существует 2 метода.
Метод 1: Создаем базу черезе PSQL шелл, с помощью команды CREATE DATABASE.
Метод 2: Используем команду createdb.
7. Получаем список всех баз в Postgresql?
8. Как удалить базу в PostgreSQL?
9. Пользуемя встроенным хелпом к командам
Команда \? отобразит строку помощи для команда PSQL. \h CREATE покажет хелп для всех команд который начинаются с CREATE.
10. Как получить список всех таблиц в базе данный в Postgresql?
Для пустой базы вы получите сообщение “No relations found.”
11. Как узнать время выполнения запроса?
# \timing — после выполения данной команды каждый последующий запрос будет показывать время выполнения.
12. Как бэкапить и восстанавливать базы и таблицы в PostgreSQL?
Этот вопрос довольно велик и я опубликую его позднее отдельной статьей.
Для того чтобы получить список доступных функций, скажите \df+
14. Как отредактировать запрос к PostgreSQL в редакторе?
\e откроет редактор, в котором вы можете отредактировать запрос и сохранить его.
15. Где я могу найти файл истории postgreSQL?
/.bash_history, postgreSQL хранит все sql команды в файле
Разное
Лучшие выставочные стенды в Москве. Отличное качество выполнения, невысокие цены.
Курьерская служба, доставка по Москве и Московской области, срочная доставка, рассылки писем, счетов, журналов
Комментариев: 10
Очень хорошая статья, люблю живые примеры
С удовольствием прочитаю статью про бэкапы в postgresql
Спасибо, подборка очень выручила когда пришлось аврально разбираться, как с postgesql работать.
И да, примерах с кодом у меня повылазили тэги , лучше бы их убрать, читать мешает.
Не получается :((( команда postgresql status говорит что он остановлен.
Странно. Я пользуюсь Ruby On Rails и у меня иногда удаляется база данных. Причём, непонятно почему.
Как посмотреть какая версия PostgreSQL запущена?
Полная ахинея. Нужно быть придурком чтобы таким образом определять версию постгреса,
Автор просто скопипастил текст «статьи» откуда-то даже не удосужившись удалить html-тэги.
Также хочется отметить, что способов запуска/остановки процессов в разных системах минимум 2, тут выделен самый неудачный в плане длинного пути и отсутствия стандартизации запуска процессов.
Есть команда показывающая место расположения базы данных:
Я забыл пароль, который ввел при установке postgres
Я либо забыл, либо набрал (во время установки) пароль для пользователя по умолчанию в Postgres. Кажется, я не могу его запустить и получаю следующую ошибку:
Есть ли способ сбросить пароль или как создать нового пользователя с привилегиями суперпользователя?
Я новичок в Postgres и только что установил его впервые. Я пытаюсь использовать его с Rails, и я использую Mac OS X Lion.
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
(обратите внимание, что с первой командой вы не всегда будете связаны с локальным хостом)
Сбросить пароль (‘замените 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
Ниже показаны сброс пароля, неудачный вход в систему с аутентификацией PEER и успешный вход в систему с использованием TCP-соединения.
В противном случае:
Отредактируйте файл /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 с таким именем, и это не говорило мне об этом.
Добавление ответа для пользователя Windows для последней версии postgres (> 10),
Откройте этот файл с помощью блокнота, найдите эту строку,
Измените метод с 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. Теперь измените пароль, введя это:
Наконец, удалите эту строку, вставленную в pg_hba, и сохраните ее.
Если вы находитесь в Windows, вы можете просто запустить
и войдите в postgres с помощью postgres / postgres в качестве пользователя / пароля
Этот файл должен содержать строки следующего формата:
Имя хоста: порт: база данных: имя пользователя: пароль
(Вы можете добавить комментарий напоминания в файл, скопировав строку выше и поставив перед ней знак #.) Каждое из первых четырех полей может быть буквальным значением или *, что соответствует чему угодно. Будет использовано поле пароля из первой строки, соответствующее текущим параметрам соединения. (Поэтому при использовании подстановочных знаков ставьте сначала более конкретные записи.) Если запись должна содержать: или \, экранируйте этот символ с помощью. Имя хоста localhost совпадает с соединениями TCP (имя хоста localhost) и сокета домена Unix (pghost empty или каталог сокета по умолчанию), поступающими с локального компьютера. На резервном сервере имя базы данных репликации соответствует подключению потоковой репликации к главному серверу. Поле базы данных имеет ограниченную полезность, поскольку пользователи имеют одинаковый пароль для всех баз данных в одном кластере.
PostgreSQL: Resetting password of PostgreSQL on Ubuntu [closed]
Want to improve this question? Update the question so it’s on-topic for Stack Overflow.
In Ubuntu, I installed PostgreSQL database and created a superuser for the server.
If I forgot the password of the postgresql superuser, how can I reset it (the password) for that user?
I tried uninstalling it and then installing it again but the previously created superuser is retained.
1 Answer 1
Assuming you’re the administrator of the machine, Ubuntu has granted you the right to sudo to run any command as any user.
Also assuming you did not restrict the rights in the pg_hba.conf file (in the /etc/postgresql/9.1/main directory), it should contain this line as the first rule:
(About the file location: 9.1 is the major postgres version and main the name of your «cluster». It will differ if using a newer version of postgres or non-default names. Use the pg_lsclusters command to obtain this information for your version/system).
Then you should be able to log in with psql as the postgres superuser with this shell command:
Once inside psql, issue the SQL command:
Keep in mind that you need to type postgres with a single S at the end
It asks for the password with a double blind input, then hashes it according to the password_encryption setting and issue the ALTER USER command to the server with the hashed version of the password, instead of the clear text version.
Я забыл пароль, который я ввел во время установки postgres
Я либо забыл, либо ошибся (во время установки) пароль для пользователя Postgres по умолчанию. Кажется, я не могу запустить его, и я получаю следующую ошибку:
есть ли способ сбросить пароль или как создать нового пользователя с привилегиями суперпользователя?
Я новичок в Postgres и только что установил его в первый раз. Я пытаюсь использовать его с Rails, и я запускаю Mac OS X Lion.
9 ответов
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
(обратите внимание, что с первой командой вы не всегда будете на связи с локальным узлом)
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
ниже показан сброс пароля, неудачный вход с одноранговой аутентификацией и успешный вход с использованием TCP-соединения.
The pg_hba.conf ( C:\Program Files\PostgreSQL.3\data ) файл изменился с тех пор, как были даны эти ответы. Что сработало для меня в Windows, это открыть файл и изменить METHOD С md5 до trust :
Если вы находитесь в Windows, вы можете просто запустить
и войдите в postgres с postgres/postgres как пользователь / пароль
для установки Windows создается пользователь Windows. И «psql» использует этого пользователя для подключения к порту. Если вы измените пароль пользователя PostgreSQL, он не изменит пароль Windows. Командная строка juste ниже работает, только если у вас есть доступ к командной строке.
редактировать файл /etc/postgresql/ /main/pg_hba.conf и найдите следующую строку:
изменить строку и изменить md5 в конце trust и сохраните файл
перезагрузка postgresql сервис
это загрузит файлы конфигурации. Теперь вы можете изменить postgres пользователь, войдя на psql раковины
обновить postgres пароль пользователя
перезагрузка postgresql сервис
убедитесь, что изменение пароля работает
что я сделал, чтобы решить ту же проблему:
открыть файл pg_hba.conf файл с редактором gedit из терминала:
он будет запрашивать пароль. Введите пароль администратора. Это откроет gedit с файлом. Вставьте следующую строку:
сохранить и закрыть его. Закройте терминал, откройте его снова и выполните следующую команду:
теперь вы войдете в консоль psql. Теперь изменить пароль, введя это:
наконец, удалите определенную строку, вставленную в pg_hba, и сохраните ее.
этот файл должен содержать следующие строки формат:
имя хоста: порт: база данных: имя пользователя: пароль
(вы можете добавить комментарий напоминания в файл, скопировав строку выше и предшествующую ей #.) Каждое из первых четырех полей может быть литеральным значением или*, которое соответствует чему угодно. Будет использоваться поле пароля из первой строки, соответствующее текущим параметрам соединения. (Поэтому при использовании подстановочных знаков сначала ставьте более конкретные записи.) Если запись должна содержать : или \, избежать этого символа с. Имя хоста localhost соответствует подключениям TCP (имя хоста localhost) и Unix domain socket (pghost empty или каталог сокетов по умолчанию), поступающим с локального компьютера. На резервном сервере имя базы данных репликации соответствует потоковым соединениям репликации, выполненным на главном сервере. Поле базы данных имеет ограниченную полезность, поскольку пользователи имеют одинаковый пароль для всех баз данных в одном кластере.
/.pgpass. Если разрешения менее строгие, файл будет проигнорирован. В Microsoft Windows предполагается, что файл хранится в защищенном каталоге, поэтому проверка специальных разрешений не производится.
Как посмотреть пароль PostgreSQL?
При запуске выдаёт ошибку:
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
Soul1, не понял, что не работает.
Сервис запущен? Подключение через pgAdmin происходит?
И у вас вообще кластер инициализирован? В папке с pg_hba.conf есть куча папок: base, global, pg_*?
IDE может тупить. Запустите в питоне простейший скрипт
UPD: удалил из pg_hba.conf строку с local и в сервисах postgres снова стал успешно перезапускаться. Но в pgAdmin всё так же не получается создать сервер, ошибка Unable to connect to server:
FATAL: password authentication failed for user «test»
Ещё я не знал, что posgres вообще установлен и скачал 12 версию, а на компе оказалась 8.4 Они не будут конфликтовать или ещё что?
pg_hba.conf находится в папке share, там нет папок base, global, pg_*
Хотя везде прописал trust и posrgres перезапускал.
UPD: из трёх папок выше только в первой есть папка data и там папки base, global, pg_*
В общем, для начала переустановите postgres.
а как правильно переустановить, чтобы старые данные не удалились? Я просто не в курсе зачем вообще postgres был установлен на компе, он нужен системе или зачем он вообще?
вам лучше знать, чей комп-то?
Винде постгрес точно не нужен. Может у вас что-то там стояло типа 1С или open server.
UPD: из трёх папок выше только в первой есть папка data и там папки base, global, pg_*
Soul1, инструкция старая, на мой взгляд глупости есть (типа отключения UAC).
2) Удалите все папки постгреса (в Program Files, а также поищите по C:\Users\*\AppData). Проверьте, что сервисах ничего нет (services.msc). В реестре (regedit.exe) поиском найдите и удалите ключи, относящиеся к Postgres
4) Инсталлятор, по идее, сам создаст. Не делайте пока. Но папку юзера Postgres из C:\Users лучше удалить, если вдруг осталась
5) 6) забейте, все и так должно работать
Запускайте сразу инсталлятор от администратора (хотя он должен вроде сам попросить повышения привилегий). И можете, в принципе, указать ему путь для установки на другой диск, чтобы избежать возможных проблем с разрешениями
galaxy, уже методом тыка нашёл решение, проблема была с разрешением на запись в папку data. Запустить инсталлятор от имени админа не догадался (может и помогло бы). Я просто зашёл через учётку админа и оттуда запустил инсталлятор (наверное это тоже самое). Прочитал ещё, что до 8 версии postgres не требовал права администратора, а сейчас требует. Короче, усложнили жизнь новичкам. В принципе теперь всё работает, базы создавать могу, только в pgAdmin всё ещё отображается старая база, хотя я папку ту удалил. Видимо осталось в реестре что-то. Но через pgAdmin удалилось без проблем.