- Пароль пользователя postgres — как задать и изменить пароль
- Изменить пароль пользователя Postgres
- Windows pgAdmin и пароли PostgreSQL
- Решение
- Какое имя пользователя / пароль суперпользователя по умолчанию для postgres после новой установки?
- Сброс пароля в PostgreSQL
- 5 thoughts on “ Сброс пароля в PostgreSQL ”
- What is the default password for Postgres
- 3 Answers 3
Пароль пользователя postgres — как задать и изменить пароль
Команды по администрированию базами и пользователями выполняются от имени системного пользователя postgres
root может стать им выполнив su — postgres
Затем можно без пароля попасть в интерфейс БД psql
Или то же самое одной командой
Пользователь может создать базу
Затем добавить пользователя и задать для него пароль
=# create user appadmin with encrypted password ‘jdfh8jhtghnjkfrvhyu’;
После этого пользователю нужно дать права для работы с базой данных
=# grant all privileges on db1 mydb to appadmin;
Изменить пароль пользователя Postgres
Пользователя можно создавать и задавать ему пароль двумя раздельными командами
sudo -u postgres createuser anotheruser
Вторая служит для изменения паролей уже существующих пользователей, выполняется из консоли psql
=# alter user anotheruser with encrypted password ‘NEW_STRONG_PASSWORD’;
Непосредственно для системного пользователя postgres пароль не нужен, им может стать root выполнив su как показано ранее. Если нужна авторизация root может установить для postgres новый пароль
Затем пароль нужно ввести дважды, отображаться он не будет.
Пользователь appadmin — не системный, он существует только в postgresql.
Подключаться к базе из консоли от имени этого пользователя нужно указывая имя базы и ключ -W
psql -h myhost -d db1 -U appadmin -W
Последний ключ не обязателен, но без него в интерактивном режиме в некоторых версиях СУБД не будет запрашиваться пароль, пароль должен запрашиваться.
Про создание дампов баз данных Postgres и их загрузку.
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 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).
Все эти компоненты окружения операционной системы должны быть учтены при поиске проблем подключения к базе данных. Естественно, когда речь идет о сервере на реальном адресе, простое выключение файрволов и прочих служб безопасности чревато разными проблемами в будущем.
Какое имя пользователя / пароль суперпользователя по умолчанию для postgres после новой установки?
Я только что установил Postgres 8.4 на Ubuntu 9.10, и он никогда не просил меня создать суперпользователя. Есть ли суперпользователь по умолчанию и его пароль? Если нет, то как мне создать новый?
ВНИМАНИЕ! Ответ об изменении пароля UNIX для «postgres» через «$ sudo passwd postgres» не является предпочтительным и даже может быть ОПАСНЫМ !
Вот почему: по умолчанию учетная запись UNIX «postgres» заблокирована, что означает, что ее нельзя войти в систему с помощью пароля. Если вы используете «sudo passwd postgres», учетная запись немедленно разблокируется. Хуже того, если вы устанавливаете пароль на что-то слабое, например «postgres», то вы подвергаетесь большой угрозе безопасности. Например, есть ряд ботов, пытающихся использовать комбинацию имени пользователя и пароля «postgres / postgres» для входа в систему UNIX.
Что вы должны сделать, это следовать ответу Криса Джеймса :
Чтобы объяснить это немного. Обычно есть два способа входа на сервер PostgreSQL по умолчанию:
При выполнении команды «Psql» как пользователь UNIX (так называемые IDENT / аутентификации PEER), например: sudo -u postgres psql . Обратите внимание, что sudo -u НЕ разблокирует пользователя UNIX.
по соединению TCP / IP с использованием собственного управляемого имени пользователя / пароля PostgreSQL (так называемая аутентификация TCP) (т. е. НЕ пароль UNIX).
Таким образом, вы никогда не хотите устанавливать пароль для учетной записи UNIX «postgres». Оставьте его заблокированным по умолчанию.
Конечно, все может измениться, если вы настроите его не так, как по умолчанию. Например, можно синхронизировать пароль PostgreSQL с паролем UNIX и разрешить только локальный вход. Это было бы за рамками этого вопроса.
Сброс пароля в 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’;
What is the default password for Postgres
I have just install Postgres 9.3 on Windows 7. The installation completed successfully. It has never asked me to provide the password for postgres user.
The service postgresql-x64-9.3 is up and running. However, I cannot connect: I do not not know the password. I’ve found the following answer, but it did not help:
3 Answers 3
WARNING: trust means exactly that. Anyone who can connect to the PostgreSQL server can control it. If you set trust mode that allows superusers like user postgres (or all users) to connect, they get total control of your PostgreSQL and can probably run shell commands too. You should usually only use it to change the password then restore the configuration back to the auth mode you were using before.
If you used an unattended installer script, the password will be in the script or associated config file.
Otherwise, treat it the same as if you lost/forgot the password rather than never knowing it:
- Edit pg_hba.conf , setting the auth mode to trust instead of the default md5
- In the Services control panel restart the PostgreSQL service
- Connect with psql or PgAdmin or whatever
- ALTER USER postgres PASSWORD ‘mynewpassword’;
- Edit pg_hba.conf again and set the auth mode back to md5
- Restart PostgreSQL again
pg_hba.conf is in your data directory. By default it’ll be %PROGRAMFILES%\PostgreSQL\9.3\data .
To edit it you’ll have to use the security tab to give yourself read/write permissions (via a UAC prompt). This might require you to set yourself as the owner of the file.
On unix systems it’s more secure to prepend a