
Узнайте, как решить распространенную ошибку PostgreSQL «psql: FATAL: база данных «root» не существует». Новые пользователи PostgreSQL часто сталкиваются с этой ошибкой при первом входе в PostgreSQL.
Требования
- Облачный сервер под управлением Linux (любой дистрибутив)
- Установленный и запущенный PostgreSQL
Переключитесь на пользователя PostgreSQL
Если в прошлом вы пользовались MySQL/MariaDB, вы можете привыкнуть входить в базу данных с помощью команды mysql -u root -p из любой учетной записи. Однако в PostgreSQL используется другая модель безопасности.
PostgreSQL имеет собственного пользователя в системе, который создается при установке PostgreSQL. Пользователь postgres может входить в PostgreSQL без пароля. Никакой другой пользователь не может войти в PostgreSQL.
Это означает, что перед использованием PostgreSQL вам необходимо переключиться на эту учетную запись пользователя с помощью команды :
su - postgres
Затем вы сможете войти в клиент PosgreSQL с помощью команды:
psql
Вы не сможете получить доступ к базе данных из командной строки как любой другой пользователь.
Что означает ошибка
Когда вы входите в PostgreSQL под любым пользователем, кроме пользователя postgres, он будет пытаться ввести вас в базу данных с тем же именем, что и ваша учетная запись. Это означает, что если вы попытаетесь использовать команду psql от имени root, она попытается ввести вас в корень базы данных. Если вы попытаетесь войти в систему под именем jdoe, она будет искать базу данных jdoe, и так далее.
Не найдя такой базы данных, PostgreSQL выдает сообщение об ошибке: «База данных [ваше имя пользователя] не существует».