Перейти к основному содержимому

Создание базы данных

примечание

Эта страница переведена при помощи нейросети GigaChat.

Первый тест на доступ к серверу баз данных — попытка создать новую базу. Работающий сервер PostgreSQL может управлять множеством баз данных. Обычно для каждого проекта или пользователя используется отдельная база.

В некоторых случаях администратор сайта уже создал базу данных для использования. Тогда этот шаг можно пропустить.

Для создания новой базы данных, например mydb, используется команда:

$ createdb mydb

Если команда не вывела ошибок, база данных создана успешно.

Возможные сообщения об ошибках:

  • createdb: command not found PostgreSQL не установлен или не добавлен в путь оболочки. Следует вызвать команду с абсолютным путем, например:

    $ /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

Команда удаляет все файлы базы данных без возможности восстановления, поэтому применять ее нужно осторожно.

Подробнее смотрите в разделах createdb и dropdb.