Первая проверка возможности подключения к серверу базы данных — это попытка создать базу данных. Работающий сервер Digital Q.DataBase может управлять многими базами данных. Как правило, отдельная база данных используется для каждого проекта или для каждого пользователя.
Возможно, ваш системный администратор уже создал базу данных для вашего использования. В этом случае вы можете пропустить этот шаг и перейти к следующему разделу.
Чтобы создать новую базу данных, в этом примере с именем
mydb, используйте следующую команду:
$createdb mydb
Если нет никакого ответа, то этот шаг был успешным, и вы можете пропустить оставшуюся часть этого раздела.
Если возникает сообщение по типу:
createdb: command not found
то Digital Q.DataBase была установлена неправильно или не была установлена вообще. Также возможно, что в путь поиска команд оболочки не был включен её каталог. Попробуйте вызвать команду с абсолютным путём:
$/usr/local/pgsql/bin/createdb mydb
Путь может отличаться. Обратитесь к вашему системному администратору или проверьте инструкции по установке, чтобы исправить ситуацию.
Другим ответом может быть:
createdb: error: connection to server on socket "/tmp/.s.PGSQL.5432" failed: No such file or directory
Is the server running locally and accepting connections on that socket?
Это означает, что сервер не был запущен, или createdb не может с ним связаться. Проверьте
инструкции по установке или обратитесь к администратору.
Ещё однин тип сообщений:
createdb: error: connection to server on socket "/tmp/.s.PGSQL.5432" failed: FATAL: role "joe" does not exist
где упоминается ваше собственное имя входа. Это произойдёт, если
администратор не создал учётную запись пользователя Digital Q.DataBase
для вас. (Учётные записи пользователей Digital Q.DataBase отличаются от
учётных записей пользователей операционной системы.) Если вы администратор, см.
Глава 3.6 для помощи в создании учётных записей. Вам нужно будет
стать пользователем операционной системы, под которым была установлена Digital Q.DataBase
(обычно postgres), чтобы создать первую учётную запись
пользователя. Также может быть, что вам была назначена
учётная запись пользователя Digital Q.DataBase, которая отличается от вашего
имени пользователя операционной системы; в этом случае вам нужно использовать опцию -U
или установить переменную окружения PGUSER для указания вашего
имени пользователя Digital Q.DataBase.
Если у вас есть учётная запись пользователя, но у неё нет привилегий, требуемых для создания базы данных, вы увидите следующее:
createdb: error: database creation failed: ERROR: permission denied to create database
Не каждый пользователь имеет право создавать новые базы данных. Если Digital Q.DataBase отказывается создавать базы данных для вас - обратитесь к вашему системному администратору. Если вы установили Digital Q.DataBase самостоятельно, то вы должны войти в систему под учётной записью пользователя, от которой вы запустили сервер. [1]
Вы также можете создавать базы данных с другими именами. Digital Q.DataBase позволяет вам создать любое количество баз данных. Имена баз данных должны начинаться с буквы и должны содержать менее 64 символов. Удобно создавать базы данных с тем же именем, что и ваше текущее имя пользователя. Многие инструменты предполагают, что это имя базы данных используется по умолчанию, поэтому это может упростить ввод команд. Чтобы создать такую базу данных, введите:
$createdb
Если вы больше не хотите использовать вашу базу данных, вы можете удалить её.
Например, если вы владелец (создатель) базы данных
mydb, вы можете уничтожить её с помощью следующей
команды:
Это действие физически удаляет все файлы, связанные с базой данных, и не может быть отменено!
$dropdb mydb
Для этой команды имя базы данных по умолчанию не является именем пользователя учётной записи. Вы всегда должны явно указывать имя удаляемой базы данных.
Подробнее о createdb и dropdb можно
узнать в createdb и dropdb
соответственно.
[1]
Принцип работы:
имена пользователей Digital Q.DataBase отделены
от учётных записей пользователей операционной системы.
Когда вы подключаетесь к базе данных, вы можете выбрать, под каким
именем пользователя Digital Q.DataBase подключиться;
если вы этого не сделаете, по умолчанию будет использоваться то же имя, что и у вашей текущей
учётной записи операционной системы. Так получилось, что всегда существует
учётная запись пользователя Digital Q.DataBase, которая имеет
то же имя, что и пользователь операционной системы, запустивший сервер,
и также оказывается, что этот пользователь всегда имеет разрешение
на создание базы данных. Вместо входа в систему под этим пользователем вы также можете
указать опцию -U и выбрать
имя пользователя Digital Q.DataBase, под которым подключаться.