- Как создать базу данных в PostgreSQL с помощью pgAdmin 4
- Создание базы данных в PostgreSQL
- Способ 1 – используем графический инструмент pgAdmin 4
- Способ 2 – используем язык SQL
- Создание базы данных postgresql windows
- Примечание
- Создание базы данных postgresql windows
- Синтаксис
- Описание
- Параметры
- Подсказка
- Замечания
- Примеры
- Совместимость
- Создание базы данных postgresql windows
Как создать базу данных в PostgreSQL с помощью pgAdmin 4
Приветствую Вас на сайте Info-Comp.ru! Сегодня я покажу, как создается база данных в PostgreSQL, в качестве инструмента я буду использовать стандартное приложение pgAdmin 4, которое предназначено для написания SQL запросов и разработки баз данных.
Создание базы данных в PostgreSQL
Итак, как было уже отмечено, базу данных мы будем создавать с помощью pgAdmin 4, таким образом, на текущий момент у Вас уже должен быть установлен PostgreSQL и pgAdmin 4.
Создать базу данных в PostgreSQL можно несколькими способами, мы рассмотрим два: первый, с помощью графического редактора pgAdmin 4, и второй с помощью языка SQL.
Способ 1 – используем графический инструмент pgAdmin 4
Открываем pgAdmin 4, затем в обозревателе щелкаем правой кнопкой мыши по контейнеру «Базы данных». Далее выбираем «Создать -> База данных».
После этого откроется окно «Создание базы данных», где необходимо указать название создаваемой базы данных. И этого достаточно, чтобы создать базу данных с настройками по умолчанию, таким образом, если Вы не хотите внести какие-нибудь дополнительные параметры, можете сразу нажимать «Сохранить».
В данном случае создается база данных test_db.
В результате в обозревателе отобразится новая база данных.
Способ 2 – используем язык SQL
Точно также создать базу данных можно и с помощью языка SQL. Чтобы это сделать, выделите системную базу данных «postgres» и запустите редактор SQL запросов (Запросник), иконка располагается на панели инструментов, или зайдите в меню «Инструменты –> Запросник».
Далее напишите простую SQL инструкцию
И запустите ее на выполнение, для этого нажмите на кнопку «Выполнить» (Execute).
В итоге будет создана точно такая же база данных с настройками по умолчанию.
Заметка! Если Вас интересует язык SQL, то рекомендую почитать книгу «SQL код» – это самоучитель по языку SQL для начинающих программистов. В ней язык SQL рассматривается как стандарт, чтобы после прочтения данной книги можно было работать с языком SQL в любой системе управления базами данных.
Чтобы писать и выполнять SQL запросы в контексте новой базы данных, выделите ее и запустите редактор запросов.
В результате редактор запустится в контексте нужной базы данных, это будет отображено в строке подключения.
Кроме этого, создать базу данных можно и с помощью стандартной консольной утилиты psql, пример того, как это делается, можете посмотреть в статье про установку PostgreSQL на Linux.
На сегодня это все, надеюсь, материал, был Вам полезен, пока!
Создание базы данных postgresql windows
Для создания базы данных сервер PostgreSQL должен быть развёрнут и запущен (см. Раздел 17.3).
База данных создаётся SQL-командой CREATE DATABASE :
Создание баз данных это привилегированная операция. Как предоставить права доступа, описано в Разделе 20.2.
Поскольку для выполнения команды CREATE DATABASE необходимо подключение к серверу базы данных, возникает вопрос как создать самую первую базу данных. Первая база данных всегда создаётся командой initdb при инициализации пространства хранения данных (см. Раздел 17.2.) Эта база данных называется postgres . Далее для создания первой « обычной » базы данных можно подключиться к postgres .
Вторая база данных template1 , также создаётся во время инициализации кластера. При каждом создании новой базы данных в рамках кластера по факту производится клонирование шаблона template1 . При этом любые изменения сделанные в template1 распространяются на все созданные впоследствии базы данных. Следует избегать создания объектов в template1 , за исключением ситуации, когда их необходимо автоматически добавлять в новые базы. Более подробно в Разделе 21.3.
Для удобства, есть утилита командной строки для создания баз данных, createdb .
Утилита createdb не делает ничего волшебного, она просто подключается к базе данных postgres и выполняет ранее описанную SQL-команду CREATE DATABASE . Подробнее о её вызове можно узнать в createdb . Обратите внимание, что команда createdb без параметров создаст базу данных с именем текущего пользователя.
Примечание
Глава 19 содержит информацию о том, как ограничить права на подключение к заданной базе данных.
Иногда необходимо создать базу данных для другого пользователя и назначить его владельцем, чтобы он мог конфигурировать и управлять ею. Для этого используйте одну из следующих команд:
из среды SQL, или:
из командной строки ОС. Лишь суперпользователь может создавать базы данных для других (для ролей, членом которых он не является).
Создание базы данных postgresql windows
CREATE DATABASE — создать базу данных
Синтаксис
Описание
Команда CREATE DATABASE создаёт базу данных PostgreSQL .
Чтобы создать базу данных, необходимо быть суперпользователем или иметь специальное право CREATEDB . См. CREATE ROLE .
По умолчанию новая база данных создаётся копированием стандартной системной базы данных template1 . Задать другой шаблон можно, добавив указание TEMPLATE имя . В частности, написав TEMPLATE template0 , можно создать чистую базу данных (в которой никаких пользовательских объектов нет, есть только системные объекты в первозданном виде), содержащую только стандартные объекты, предопределённые установленной версией PostgreSQL . Это бывает полезно, когда копировать в новую базу любые дополнительные объекты, добавленные локально в template1 , нежелательно.
Параметры
Имя создаваемой базы данных. имя_пользователя
Имя пользователя (роли), назначаемого владельцем новой базы данных, либо DEFAULT , чтобы владельцем стал пользователь по умолчанию (а именно, пользователь, выполняющий команду). Чтобы создать базу данных и сделать её владельцем другую роль, необходимо быть непосредственным или опосредованным членом этой роли, либо суперпользователем. шаблон
Имя шаблона, из которого будет создаваться новая база данных, либо DEFAULT , чтобы выбрать шаблон по умолчанию ( template1 ). кодировка
Кодировка символов в новой базе данных. Укажите строковую константу (например, ‘SQL_ASCII’ ) или целочисленный номер кодировки, либо DEFAULT , чтобы выбрать кодировку по умолчанию (а именно, кодировку шаблона). Наборы символов, которые поддерживает PostgreSQL , перечислены в Подразделе 23.3.1. Дополнительные ограничения описаны ниже. локаль
Краткий вариант определения значения для двух параметров LC_COLLATE и LC_CTYPE сразу. Он исключает отдельное указание любого из этих параметров.
Подсказка
Другие параметры локали lc_messages, lc_monetary, lc_numeric и lc_time задаются не на уровне базы данных и этой командой не устанавливаются. Чтобы изменить их значения по умолчанию для конкретной базы, воспользуйтесь командой ALTER DATABASE . SET .
Порядок сортировки ( LC_COLLATE ), который будет использоваться в новой базе данных. Этот параметр определяет порядок сортировки строк, например, в запросах с ORDER BY, а также порядок индексов по текстовым столбцам. По умолчанию используется порядок сортировки, установленный в шаблоне. Дополнительные ограничения описаны ниже. категория_типов_символов
Классификация символов ( LC_CTYPE ), которая будет применяться в новой базе данных. Этот параметр определяет принадлежность символов категориям, например: строчные, заглавные, цифры и т. п. По умолчанию используется классификация символов, установленная в шаблоне. Дополнительные ограничения описаны ниже. табл_пространство
Имя табличного пространства, связываемого с новой базой данных, или DEFAULT для использования табличного пространства шаблона. Это табличное пространство будет использоваться по умолчанию для объектов, создаваемых в этой базе. За подробностями обратитесь к CREATE TABLESPACE . разр_подключения
Если false, никто не сможет подключаться к этой базе данных. По умолчанию имеет значение true, то есть подключения принимаются (если не ограничиваются другими механизмами, например, GRANT / REVOKE CONNECT ). предел_подключений
Максимальное количество одновременных подключений к этой базе данных. Значение -1 (по умолчанию) снимает ограничение. это_шаблон
Если true, базу данных сможет клонировать любой пользователь с правами CREATEDB ; в противном случае (по умолчанию), клонировать эту базу смогут только суперпользователи и её владелец.
Дополнительные параметры могут записываться в любом порядке, не обязательно так, как показано выше.
Замечания
CREATE DATABASE нельзя выполнять внутри блока транзакции.
Ошибки, содержащие сообщение « не удалось инициализировать каталог базы данных » , чаще всего связаны с нехваткой прав в каталоге данных, заполнением диска или другими проблемами в файловой системе.
Для удаления базы данных применяется DROP DATABASE .
Программа createdb представляет собой оболочку этой команды, созданную ради удобства.
Конфигурационные параметры уровня базы данных (устанавливаемые командой ALTER DATABASE ) и разрешения уровня базы (устанавливаемые командой GRANT ) из шаблона не копируются.
Хотя с помощью этой команды можно скопировать любую базу данных, а не только template1 , указав её имя в качестве имени шаблона, она не предназначена (пока) для использования в качестве универсального средства вроде « COPY DATABASE » . Принципиальным ограничением является невозможность копирования базы данных шаблона, если установлены другие подключения к ней. CREATE DATABASE выдаёт ошибку, если при запуске команды есть другие подключения к этой базе; в противном случае новые подключения к базе блокируются до завершения команды CREATE DATABASE . За дополнительными сведениями обратитесь к Разделу 22.3.
Кодировка символов, указанная для новой базы данных, должна быть совместима с выбранными параметрами локали ( LC_COLLATE и LC_CTYPE ). Если выбрана локаль C (или равнозначная ей POSIX ), допускаются все кодировки, но для других локалей правильно будет работать только одна кодировка. (В Windows, однако, кодировку UTF-8 можно использовать с любой локалью.) CREATE DATABASE позволяет суперпользователям указать кодировку SQL_ASCII вне зависимости от локали, но этот вариант считается устаревшим и может привести к ошибочному поведению строковых функций, если в базе хранятся данные в кодировке, несовместимой с заданной локалью.
Параметры локали и кодировка должны соответствовать тем, что установлены в шаблоне, если только это не template0 . Это ограничение объясняется тем, что другие базы данных могут содержать данные в кодировке, отличной от заданной, или индексы, порядок сортировки которых определяются параметрами LC_COLLATE и LC_CTYPE . При копировании таких данных получится база, которая будет испорченной согласно новым параметрам локали. Однако template0 определённо не содержит какие-либо данные или индексы, зависящие от кодировки или локали.
Ограничение CONNECTION LIMIT действует только приблизительно; если одновременно запускаются два сеанса, тогда как в базе остаётся только одно « свободное место » , может так случиться, что будут отклонены оба подключения. Кроме того, это ограничение не распространяется на суперпользователей и фоновые рабочие процессы.
Примеры
Создание базы данных:
Создание базы данных sales , принадлежащей пользователю salesapp , с табличным пространством по умолчанию salesspace :
Создание базы данных music с другой локалью:
В этом примере предложение TEMPLATE template0 необходимо, только если указанная локаль отличается от локали в template1 . (В противном случае явное указание локали является избыточным.)
Создание базы данных music2 с другой локалью и другой кодировкой символов:
Свойства кодировки должны соответствовать локали, иначе возникнет ошибка.
Заметьте, что имена локалей зависят от операционной системы, так что показанные выше команды могут не везде работать одинаково.
Совместимость
Оператор CREATE DATABASE отсутствует в стандарте SQL. Базы данных равнозначны каталогам, а их создание в стандарте определяется реализацией.
Создание базы данных postgresql windows
Первое, как можно проверить, есть ли у вас доступ к серверу баз данных, — это попытаться создать базу данных. Работающий сервер PostgreSQL может управлять множеством баз данных, что позволяет создавать отдельные базы данных для разных проектов и пользователей.
Возможно, ваш администратор уже создал базу данных для вас. В этом случае вы можете пропустить этот этап и перейти к следующему разделу.
Для создания базы данных, в этом примере названной mydb , выполните следующую команду:
Если вы не увидите никаких сообщений, значит операция была выполнена успешно и продолжение этого раздела можно пропустить.
Если вы видите сообщение типа:
значит PostgreSQL не был установлен правильно. Либо он не установлен вообще, либо в путь поиска команд оболочки не включён его каталог. Попробуйте вызвать ту же команду, указав абсолютный путь:
У вас этот путь может быть другим. Свяжитесь с вашим администратором или проверьте, как были выполнены инструкции по установке, чтобы исправить ситуацию.
Ещё один возможный ответ:
Это означает, что сервер не работает или createdb не может к нему подключиться. И в этом случае пересмотрите инструкции по установке или обратитесь к администратору.
Также вы можете получить сообщение:
где фигурирует ваше имя пользователя. Это говорит о том, что администратор не создал учётную запись PostgreSQL для вас. (Учётные записи PostgreSQL отличаются от учётных записей пользователей операционной системы.) Если вы сами являетесь администратором, прочитайте Главу 21, где написано, как создавать учётные записи. Для создания нового пользователя вы должны стать пользователем операционной системы, под именем которого был установлен PostgreSQL (обычно это postgres ). Также возможно, что вам назначено имя пользователя PostgreSQL , не совпадающее с вашим именем в ОС; в этом случае вам нужно явно указать ваше имя пользователя PostgreSQL , используя ключ -U или установив переменную окружения PGUSER .
Если у вас есть учётная запись пользователя, но нет прав на создание базы данных, вы увидите сообщение:
Создавать базы данных разрешено не всем пользователям. Если PostgreSQL отказывается создавать базы данных для вас, значит вам необходимо соответствующее разрешение. В этом случае обратитесь к вашему администратору. Если вы устанавливали PostgreSQL сами, то для целей этого введения вы должны войти в систему с именем пользователя, запускающего сервер БД. [1]
Вы также можете создавать базы данных с другими именами. PostgreSQL позволяет создавать сколько угодно баз данных. Имена баз данных должны начинаться с буквы и быть не длиннее 63 символов. В качестве имени базы данных удобно использовать ваше текущее имя пользователя. Многие утилиты предполагают такое имя по умолчанию, так что вы сможете упростить ввод команд. Чтобы создать базу данных с таким именем, просто введите:
Если вы больше не хотите использовать вашу базу данных, вы можете удалить её. Например, если вы владелец (создатель) базы данных mydb , вы можете уничтожить её, выполнив следующую команду:
(Эта команда не считает именем БД по умолчанию имя текущего пользователя, вы должны явно указать его.) В результате будут физически удалены все файлы, связанные с базой данных, и так как отменить это действие нельзя, не выполняйте его, не подумав о последствиях.
Узнать о командах createdb и dropdb больше можно в справке createdb и dropdb .
[1] Объяснить это поведение можно так: Учётные записи пользователей PostgreSQL отличаются от учётных записей операционной системы. При подключении к базе данных вы можете указать, с каким именем пользователя PostgreSQL нужно подключаться. По умолчанию же используется имя, с которым вы зарегистрированы в операционной системе. При этом получается, что в PostgreSQL всегда есть учётная запись с именем, совпадающим с именем системного пользователя, запускающего сервер, и к тому же этот пользователь всегда имеет права на создание баз данных. И чтобы подключиться с именем этого пользователя PostgreSQL , необязательно входить с этим именем в систему, достаточно везде передавать его с параметром -U .