Я использую Ubuntu. За несколько дней до того, как я установил базу данных Postgresql для рубинов на рельсах. Я создал суперпользователя для сервера базы данных, и я забыл пароль суперпользователя postgresql. Может кто-нибудь помочь, как reset пароль для суперпользователя. Одна вещь, которую я пробовал, я удалил, а затем снова установил, но ее суперпользователь сохранен, который ранее был создан.
Сброс пароля PostgreSQL на ubuntu
Ответ 1
Предполагая, что вы являетесь администратором машины, Ubuntu предоставил вам право sudo выполнять любую команду как любой пользователь.
Предполагая, что вы не ограничили права в файле pg_hba.conf
(в каталоге /etc/postgresql/9.1/main
), он должен содержать эту строку в качестве первого правила:
# Database administrative login by Unix domain socket
local all postgres peer
(О расположении файла: 9.1
- это основная версия postgres и main
имя вашего "кластера". Оно будет отличаться при использовании более новой версии имен postgres или non-default. Используйте pg_lsclusters
для получения этой информации для вашей версии/системы).
В любом случае, если файл pg_hba.conf
не имеет этой строки, отредактируйте файл, добавьте его и перезагрузите службу с помощью sudo service postgresql reload
.
Затем вы должны иметь возможность войти с psql
в качестве суперпользователя postgres с помощью этой команды оболочки:
sudo -u postgres psql
Внутри psql выполните команду SQL:
ALTER USER postgres PASSWORD 'newpassword';
В этой команде postgres
есть имя суперпользователя. Если пользователь, пароль которого был забыт, был ritesh
, команда:
ALTER USER ritesh PASSWORD 'newpassword';
Ссылки: PostgreSQL 9.1.13 Документация, Глава 19. Аутентификация клиента
Имейте в виду, что вам нужно набрать postgres с помощью одного S в конце