Как создать базу данных postgresql linux
Обновлено: 21.11.2024
В этом руководстве рассказывается об установке и использовании базы данных PostgreSQL в Linux. В этом руководстве также рассказывается о создании и использовании простой базы данных. Язык интерфейса базы данных PostgreSQL — стандартный SQL (стандартный язык запросов), который позволяет вставлять, обновлять и запрашивать данные, хранящиеся в реляционных таблицах. Язык SQL также используется для администрирования базы данных для создания и изменения таблиц, пользователей и прав доступа. Таблицы идентифицируются уникальными именами и содержат данные в виде строк и столбцов (записей). Фиксированное количество именованных столбцов определяется для таблицы с переменным количеством строк.
- Точное соблюдение стандарта SQL
- Поддерживает процедурный язык (PL/pgSQL, PL/Tcl, PL/Perl, PL/Python), позволяющий выполнять обработку в рамках архитектуры базы данных.
- Обширная поддержка геопространственных данных (PostgreSQL – лидер в области картографических и геопространственных приложений)
Связанные руководства по YoLinux:
Ubuntu: (16.04, 14.04) Установка: sudo apt-get install postgresql
- postgresql-9.X — библиотеки и SQL
- postgresql-common — программа базы данных
- postgresql-client-9.X — служебные программы и справочные страницы
- postgresql-client-common — служебные программы и справочные страницы
- libpq5 — сетевые клиентские библиотеки
Запуск базы данных: sudo service postgresql start
RPM-пакеты Red Hat Enterprise Linux 6:
- postgresql-8.4.11-1.el6_2.x86_64 — команды, документы HTML и справочные страницы
- postgresql-server-8.4.11-1.el6_2.x86_64 — сервер БД и сообщения на основе локали
- postgresql-libs-8.4.11-1.el6_2.x86_64 — библиотеки и сообщения на основе локали
- postgresql-docs-8.4.11-1.el6_2.x86_64 — учебные пособия, примеры и огромное руководство в формате PDF
- postgresql-test — множество примеров.
- postgresql-jdbc — возможность подключения Java
- postgresql-plperl — возможность подключения к Perl
- postgresql-plpython — возможность подключения Python
- postgresql-devel — подключение языка C
Запуск базы данных (от root): запуск службы postgresql
При первом запуске вы получите следующую ошибку:
/var/lib/pgsql/data отсутствует. Используйте «service postgresql initdb», чтобы сначала инициализировать кластер.
[НЕ ПРОШЕЛ]
Чтобы инициализировать систему для первого запуска (от root): service postgresql initdb
Инициализация базы данных: [ OK ]
После инициализации базы данных можно запустить базу данных (от имени пользователя root): service postgresql restart
- Пользователь: postgres
- Домашний каталог: /var/lib/pgsql
- Оболочка по умолчанию: /bin/bash
- Войдите как пользователь postgres: su - postgres
Это запустит профиль: /var/lib/pgsql/.bash_profile - Инициализируйте сервер базы данных PostgreSQL: initdb --pgdata=/var/lib/pgsql/data
Это создаст набор каталогов, каталог шаблонов и установит конфигурацию postgres в пользовательский каталог /var/lib/pgsql/. Команда запуска Red Hat (service)/скрипт (rc-скрипт) выполнит эту задачу, если она еще не была выполнена. См. следующий шаг — запуск базы данных.
PostgreSQL (произносится как post-gress-Q-L) — общеизвестное название систем управления реляционными базами данных с открытым исходным кодом.
Он объектно-реляционный, что означает, что вы сможете использовать объекты, классы в схемах базы данных и язык запросов. В этом руководстве мы продемонстрируем некоторые основы, например, как создавать, перечислять и удалять базы данных Postgres.
Если вы уже установили PostgreSQL на сервер VPS Ubuntu 16.04 с помощью нашего последнего руководства, следующим шагом будет создание базы данных с помощью Postgres и командной строки. Вы будете выполнять эту задачу, используя для входа суперпользователя по умолчанию, postgres.
Создание базы данных PostgreSQL
Шаг 1. Войдите в систему как пользователь Postgres.
Шаг 2. Войдите в среду PostgreSQL.
При использовании команды psql вас встретит ее текущая версия и командная строка.
Шаг 3. Создайте базу данных Postgres.
Давайте создадим нашу первую базу данных, введя команду ниже. Замените dbname именем базы данных по вашему выбору.
СОЗДАТЬ БАЗУ ДАННЫХ имя_базы_данных;
Вывод базы данных PostgreSQL
Проверка создания базы данных PostgreSQL
Использование следующей команды позволяет нам просматривать базы данных в нашем экземпляре PostgreSQL (вы можете игнорировать, удалять или использовать базы данных по умолчанию: postgres, template0, template1)
Удаление базы данных PostgreSQL
После резервного копирования данных удалить базу данных PostgreSQL очень просто! Процесс удаления вашей базы данных Postgres аналогичен ее созданию, только мы будем использовать команду drop. В моем примере с командной строкой имя базы данных — dbname. Используя команду list из предыдущего раздела, вы сможете просматривать имена своих баз данных. Замените dbname на имя вашей базы данных в приведенной ниже команде.
DROP DATABASE dbname;
Мы гордимся тем, что являемся самыми полезными людьми в сфере хостинга™! Наш персонал службы поддержки всегда готов помочь клиентам Liquid Web с любыми проблемами с выделенным, облачным или VPS-сервером 24 часа в сутки, 7 дней в неделю, 365 дней в году.
Эта команда создаст базу данных из приглашения оболочки PostgreSQL, но у вас должны быть соответствующие права для создания базы данных. По умолчанию новая база данных будет создана путем клонирования стандартной системной базы данных template1.
Синтаксис
Основной синтаксис оператора CREATE DATABASE следующий:
где dbname — имя создаваемой базы данных.
Пример
Ниже приведен простой пример, который создаст testdb в вашей схеме PostgreSQL
Использование команды createdb
Исполняемый файл командной строки PostgreSQL createdb представляет собой оболочку команды SQL CREATE DATABASE. Единственная разница между этой командой и командой SQL CREATE DATABASE заключается в том, что первая может быть запущена непосредственно из командной строки и позволяет добавлять комментарий в базу данных, все в одной команде.
Синтаксис
Синтаксис для createdb показан ниже –
Параметры
В приведенной ниже таблице перечислены параметры с их описаниями.
Имя создаваемой базы данных.
описание
Указывает комментарий, который будет связан с вновь созданной базой данных.
аргументы командной строки, которые принимает createdb.
Параметры
В следующей таблице перечислены аргументы командной строки, которые createb принимает —
-D табличное пространство
Указывает табличное пространство по умолчанию для базы данных.
Эхо команды, которые createdb генерирует и отправляет на сервер.
Указывает схему кодировки символов, которая будет использоваться в этой базе данных.
Указывает локаль, которая будет использоваться в этой базе данных.
Указывает базу данных шаблона, из которой создается эта база данных.
Показать справку об аргументах командной строки createdb и выйти.
Указывает имя хоста компьютера, на котором работает сервер.
Указывает TCP-порт или расширение файла сокета локального домена Unix, через который сервер прослушивает подключения.
Имя пользователя для подключения.
Никогда не запрашивайте пароль.
Заставить createdb запрашивать пароль перед подключением к базе данных.
Откройте командную строку и перейдите в каталог, где установлен PostgreSQL. Перейдите в каталог bin и выполните следующую команду, чтобы создать базу данных.
Приведенная выше команда запросит у вас пароль администратора PostgreSQL, по умолчанию это postgres. Следовательно, введите пароль и приступайте к созданию новой базы данных
PostgreSQL – это усовершенствованная система управления базами данных с открытым исходным кодом, поддерживающая реляционные (SQL) и нереляционные (JSON) запросы.
В PostgreSQL основное внимание уделяется расширяемости и совместимости с SQL при сохранении свойств ACID (атомарность, непротиворечивость, изоляция, надежность) в транзакциях.
В этом руководстве вы узнаете, как создать базу данных в PostgreSQL, используя три разных метода.
- PostgreSQL установлен и настроен
- Права администратора
Создать базу данных в PostgreSQL через pgAdmin
Чтобы создать базу данных с помощью pgAdmin, выполните следующие действия:
Шаг 1. Откройте pgAdmin и введите свой пароль для подключения к серверу базы данных.
Шаг 2. В разделе браузера разверните элементы Серверы, а затем PostgreSQL. Щелкните правой кнопкой мыши элемент Базы данных. Нажмите «Создать» и «База данных…».
Шаг 3. Появится новое окно, в котором нужно указать имя базы данных, при необходимости добавить комментарий и нажать «Сохранить».
База данных отображается в дереве объектов Базы данных.
Правая часть окна pgAdmin содержит вкладки, отображающие статистику базы данных, команды SQL, использованные для создания базы данных, любые зависимости и т. д.
Примечание. Обратите внимание на тип данных при вставке данных в базу данных. Прочтите нашу статью, чтобы узнать о различных типах данных в MySQL.
Создайте базу данных в PostgreSQL с помощью CREATE DATABASE
Еще один способ создания базы данных PostrgreSQL — использование команды CREATE DATABASE.
Чтобы создать базу данных, выполните следующие действия:
Шаг 1. Откройте приложение SQL Shell (psql).
Шаг 2. Подключитесь к серверу БД, нажав клавишу ВВОД четыре раза. Введите мастер-пароль, если потребуется. Если вы не установили пароль, снова нажмите ENTER, чтобы подключиться.
Шаг 3. Используйте следующий синтаксис для создания новой базы данных:
Вместо [имя_базы_данных] введите имя своей базы данных. Обязательно введите уникальное имя, поскольку использование существующего имени базы данных приведет к ошибке.
При создании базы данных без указания каких-либо параметров используются параметры из шаблона базы данных по умолчанию. См. доступные параметры в следующем разделе.
Шаг 4. Используйте следующую команду, чтобы вывести список всех баз данных в PostgreSQL:
Вывод показывает список доступных баз данных и их характеристики.
Создать параметры базы данных
Параметр OWNER назначает роль владельца базы данных. Отсутствие параметра OWNER означает, что владельцем базы данных является роль, используемая для выполнения оператора CREATE DATABASE.
Параметр TEMPLATE позволяет указать шаблон базы данных, из которого будет создана новая база данных. Если параметр TEMPLATE не указан, template1 устанавливается в качестве базы данных шаблонов по умолчанию.
Параметр ENCODING определяет кодировку набора символов в новой базе данных.
Параметр LC_COLLATE указывает порядок сортировки новой базы данных. Этот параметр управляет порядком сортировки строк в предложении ORDER BY. Эффект заметен при использовании локали, содержащей специальные символы.
Если не указать параметр LC_COLLATE, настройки будут взяты из базы данных шаблонов.
Параметр LC_CTYPE указывает классификацию символов, используемую в новой базе данных. Классификация символов включает нижний, верхний регистр и цифры. Если параметр LC_CTYPE не указан, используются настройки по умолчанию из базы данных шаблонов.
Используйте параметр TABLESPACE, чтобы указать имя табличного пространства для новой базы данных. При пропуске параметра TABLESPACE принимается имя табличного пространства шаблонной базы данных.
- [ALLOW_CONNECTIONS = true | ложь]
Параметр ALLOW_CONNECTIONS может иметь значение TRUE или FALSE . Если указать значение FALSE, вы не сможете подключиться к базе данных.
- [ЛИМИТ ПОДКЛЮЧЕНИЙ = max_concurrent_connections]
Параметр CONNECTION LIMIT позволяет установить максимальное количество одновременных подключений к базе данных PostgreSQL. Значение по умолчанию равно -1 , что означает неограниченное количество подключений.
Установите для параметра IS_TEMPLATE значение TRUE или FALSE . Установка IS_TEMPLATE в значение TRUE позволяет любому пользователю с привилегией CREATEDB клонировать базу данных. В противном случае только суперпользователи или владелец базы данных могут клонировать базу данных.
Чтобы создать базу данных с параметрами, добавьте ключевое слово WITH после оператора CREATE DATABASE, а затем перечислите нужные параметры.
В этом примере показано, как настроить новую базу данных для использования кодировки символов UTF-8 и поддержки до 200 одновременных подключений.
Создайте базу данных в PostgreSQL с помощью команды createdb
Команда createdb — это третий метод создания базы данных в PostgreSQL. Единственная разница между командой createdb и CREATE DATABASE заключается в том, что пользователи запускают createdb непосредственно из командной строки и сразу добавляют комментарий в базу данных.
Чтобы создать базу данных с помощью команды createdb, используйте следующий синтаксис:
Параметры обсуждаются в следующем разделе.
Примечание: createdb внутренне запускает CREATE DATABASE из psql при подключении к базе данных template1. Пользователь, создающий базу данных, является единственным администратором базы данных и единственным, кто может удалить базу данных, кроме суперпользователя postgres.
созданныеb параметры
Здесь мы создали базу данных с именем mydatabase, используя администратора по умолчанию postgres. Мы использовали базу данных phoenixnap в качестве шаблона и дали программе указание не запрашивать пароль.
Распространенные ошибки команды createdb
При использовании команды createdb пользователи могут столкнуться с некоторыми распространенными ошибками.
См. список ошибок createdb ниже:
Ошибка | Описание |
---|---|
Команда createdb не найдена. | Происходит, если PostgreSQL не установлен должным образом. Запустите createdb из пути установки PostgreSQL или добавьте путь psql.exe в раздел системных переменных в дополнительных настройках ПК. |
Нет такого файла или каталога Является ли сервер работает локально и принимает подключения через сокет домена Unix. | Происходит, когда сервер PostgreSQL не был запущен должным образом или в данный момент не запущен. |
Неустранимая: роль "username" не существует. | Происходит, когда пользователи запускают initdb с ролью без привилегий суперпользователя. Чтобы исправить ошибку, создайте нового пользователя Postgres с параметром --superuser или войдите в роль администратора по умолчанию, postgres. |
Ошибка создания базы данных: ОШИБКА: разрешение на создание базы данных отклонено. | Появляется при попытке создать базу данных с учетной записью, которая не имеет необходимых разрешений. Чтобы исправить ошибку, предоставьте разрешения суперпользователя соответствующей роли. |
Теперь вы знаете, как создать базу данных в PostgreSQL тремя разными способами. Если вы предпочитаете среду с графическим интерфейсом, используйте pgAdmin или используйте CLI или SQL Shell, если предпочитаете выполнять команды SQL.
Чтобы узнать, как удалить существующую базу данных PostgreSQL, прочитайте нашу статью Удаление базы данных PostgreSQL.
Если вам интересно узнать больше о PostgreSQL, обязательно узнайте, как установить PostgreSQL Workbench, как экспортировать таблицу PostgreSQL в CSV, как проверить версию PostgreSQL, как загрузить и установить PostgreSQL в Windows или как использовать оператор SELECT PostgreSQL.
Информацию о различных встроенных типах данных, доступных в PostgreSQL, можно найти в нашей статье Типы данных PostgreSQL.
Читайте также: