Я использую Ubuntu. За несколько дней до того, как я установил базу данных Postgresql для рубинов на рельсах. Я создал суперпользователя для сервера базы данных, и я забыл пароль суперпользователя postgresql. Может кто-нибудь помочь, как reset пароль для суперпользователя. Одна вещь, которую я пробовал, я удалил, а затем снова установил, но ее суперпользователь сохранен, который ранее был создан.
Предполагая, что вы являетесь администратором машины, 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 в конце
ritesh
, измените приведенный выше SQL наALTER USER ritesh PASSWORD 'newpassword'