Postgresql пароль 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 и их загрузку.

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

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

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

9 ответов

  1. найти файл pg_hba.conf – он может быть расположен, например, в /etc/postgresql-9.1/pg_hba.conf . cd /etc/postgresql-9.1/
  2. Сделайте резервную копию cp pg_hba.conf pg_hba.conf-backup
  3. поместите следующую строку (либо как первую строку без комментирования, либо как единственную): local all all trust
  4. перезагрузите сервер PostgreSQL (например, в Linux 🙂 sudo /etc/init.d/postgresql restart Если служба (демон) не запускает отчет в файле журнала: локальные подключения не поддерживаются этой сборкой, вы должны изменить local all all trust на host all all 127.0.0.1/32 trust
  5. теперь вы можете подключиться как любой пользователь. Подключитесь как суперпользователь postgres (обратите внимание, имя суперпользователя может отличаться в вашей установке. В некоторых системах оно называется pgsql , например. ) psql -U postgres или psql -h 127.0.0.1 -U postgres (примечание что с первой командой вы не всегда будете подключаться к локальному хосту)
  6. Сбросить пароль ALTER USER my_user_name with password ‘my_secure_password’;
  7. Восстановить старый pg_hba.conf , так как очень опасно поддерживать cp pg_hba.conf-backup pg_hba.conf
  8. перезапустите сервер, чтобы запустить с безопасным pg_hba.conf sudo /etc/init.d/postgresql restart

Для установки 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

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

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

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

Сразу после установки вы можете настроить сервер PostgreSQL по вашим потребностям, хотя стандартная настройка вполне жизнеспособна.

Настройка

По умолчанию соединения через TCP/IP заблокированы. PostgreSQL поддерживает множество методов аутентификации. Метод аутентификации IDENT используется для postgres и локальных пользователей пока не настроено что-то еще. Обратитесь к PostgreSQL Administrator’s Guide, если вы собираетесь использовать какую-либо альтернативу типа Kerberos.

Дальнейшее обсуждение предполагает, что вы собираетесь разрешить соединения по TCP/IP и используете аутентификацию клиентов на основе метода MD5. Файлы настроек PostgreSQL хранятся в каталоге /etc/postgresql/ /main. Например, если вы установили PostgreSQL 8.4, файлы настроек сохранятся в каталоге /etc/postgresql/8.4/main.

Оцените статью
ПК Знаток
Добавить комментарий

Adblock
detector