Создание базы данных
Эта страница переведена при помощи нейросети GigaChat.
Первый тест на доступ к серверу баз данных — попытка создать новую базу. Работающий сервер PostgreSQL может управлять множеством баз данных. Обычно для каждого проекта или пользователя используется отдельная база.
В некоторых случаях администратор сайта уже создал базу данных для использования. Тогда этот шаг можно пропустить.
Для создания новой базы данных, например mydb, используется команда:
$ createdb mydb
Если команда не вывела ошибок, база данных создана успешно.
Возможные сообщения об ошибках:
-
createdb: command not foundPostgreSQL не установлен или не добавлен в путь оболочки. Следует вызвать команду с абсолютным путем, например:$ /usr/local/pgsql/bin/createdb mydbКонкретный путь зависит от установки.
-
connection to server on socket "/tmp/.s.PGSQL.5432" failed: No such file or directoryСервер не запущен или не прослушивает ожидаемый сокет. Необходимо проверить запуск PostgreSQL. -
FATAL: role "joe" does not existУчетная запись PostgreSQL с именем текущего пользователя ОС отсутствует. В этом случае требуется создать роль в PostgreSQL (смотрите Роли баз данных) или подключаться с другим именем через ключ-U/переменнуюPGUSER. -
permission denied to create databaseУчетная запись существует, но не имеет права создавать базы данных. Администратор должен выдать соответствующее разрешение. При локальной установке стоит войти в систему под пользователем ОС, который запускал сервер (обычноpostgres).
Имя пользователя PostgreSQL может совпадать с именем пользователя операционной системы, но это отдельные сущности. Если имя не указано, используется текущее имя учетной записи ОС. У пользователя ОС, запустившего сервер, в PostgreSQL всегда есть права на создание баз. Вместо входа под этим пользователем можно указывать нужное имя через -U.
PostgreSQL позволяет создавать произвольное количество баз данных на одном сервере. Имя должно начинаться с буквы и иметь длину до 63 байт. Часто удобно использовать базу с именем, совпадающим с именем текущего пользователя — многие утилиты воспринимают его как значение по умолчанию. Для такого случая достаточно ввести:
$ createdb
Удаление базы данных выполняется командой dropdb. Например, чтобы удалить mydb:
$ dropdb mydb
Команда удаляет все файлы базы данных без возможности восстановления, поэтому применять ее нужно осторожно.