Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Базы данных. Практический курс. В 2 частях. Ч.1. Объектно-реляционные базы данных на примере PostgreSQL 9.5. Учебное пособие.pdf
Скачиваний:
0
Добавлен:
06.09.2026
Размер:
2 Мб
Скачать
Глава 1. Установка POSTGRESQL 1.1. Установка POSTGRESQL для WINDOWS
Рис. 1.6. Диалоговое окно определения локали кластера базы данных
Рис. 1.7. Диалоговое окно «Диспетчера Задач»
После определения указанных параметров начинается про­цесс копирования файлов в определенный ранее каталог установки PostgreSQL. Необходимо обратить внимание на слова в процессе установки СУБД: «Initialising database cluster» (инициализация кла­стера баз данных), означающие, что копирование файлов закон­чено и создается кластер баз данных, содержащий базу данных, которая будет использоваться как шаблон для вновь созданных баз. Через некоторое время эта надпись сменяется на «starting database
11
1.2. Установка POSTGRESQL для LINUX Глава 1. Установка POSTGRESQL
server» (запуск сервера баз данных), что означает запуск службы сервера PostgreSQL. Если запустить «Диспетчер Задач» и перейти на вкладку «Службы», можно убедиться, что PostgreSQL работает (рис. 1.7).
1.2 Установка PostgreSQL 9.5 для Linux
В данном подразделе представлена подробная инструкция по установке PostgreSQL 9.5 в операционной системе GNU/Linux на примере дистрибутивов Ubuntu 16.04 и Fedora 24. Более подробно процесс установки и настройки СУБД PostgreSQL для дистрибути­вов Ubuntu и Fedora описан в [1] и [2] соответственно. Для дистри­бутивов Debian 9 и Linux Mint 18 процесс установки и настройки будет аналогичен Ubuntu.
На первом шаге устанавливаем PostgreSQL 9.5 из основного репозитория:
1. Для установки пакета требуются соответствующие права. В некоторых дистрибутивах Linux для получения прав адми­нистратора системы используется команда sudo, исполняющая команды пользователя с правами суперпользователя root. При вызове данной команды в качестве пароля указывается пароль текущего пользователя. Если команда sudo недоступна либо не работает должным об­разом, можно воспользоваться командой su, которая запустит интерпретатор командной строки от имени суперпользователя root. При этом в строке приглашения вида user@localhost:~$ символ $ будет заменен на символ # и строка приглашения бу­дет иметь вид user@localh ost:/home/user#. При вызове команды
su в качестве пароля указывается пароль суперпользователя
root. Для выход из оболочки в режиме суперпользователя вос­пользуйтесь командой exit.
2. Для осуществления корректной установки СУБД PostgreSQL необходимо обновить определения пакетной базы:
Ubuntu 16.04 $ sudo apt update Fedora 24 # dnf update
12
Глава 1. Установка POSTGRESQL 1.2. Установка POSTGRESQL для LINUX
3. Для установки СУБД PostgreSQL следует выполнить команду:
Ubuntu 16.04 $ sudo apt install postgresql Fedora 24 # dnf install postgresql-server
После чего менеджер пакетов скачает и установит все необхо­димые пакеты в автоматическом режиме.
В дистрибутиве Fedora необходимо выполнить процедуру на-
стройки установленного экземпляра СУБД PostgreSQL:
1. Включение автозапуска демона (службы) СУБД PostgreSQL осуществляется командой
# systemctl enable postgresql
2. Для инициализации кластера баз данных СУБД PostgreSQL ис­пользуется команда
# postgresql-setup initdb
3. Запуск демона (службы) СУБД PostgreSQL производится ко­мандой
# systemctl start postgresql
В дистрибутиве Ubuntu процедура настройки экземпляра СУБД PostgreSQL осуществляется автоматически в процессе уста­новки.
После установки экземпляра СУБД PostgreSQL файлы баз данных будут располагаться в каталогах /var/lib/postgresql/9.5/main и /var/lib/pgsql/data для дистрибутивов Ubuntu и Fedora со­ответственно, а конфигурационные файлы СУБД в каталогах /etc/postgresql/9.5/main и /var/lib/pgsql/data.
В самой СУБД PostgreSQL есть специальный пользователь – суперпользователь postgres, который имеет максимальные права внутри СУБД, т. е. может создавать, модифицировать или удалять любые базы данных и учетные записи любых пользователей.
Следующим шагом необходимо задать пароль для суперполь­зователя postgres:
Ubuntu 16.04 $ sudo psql -U postgres # \password postgres
13
1.3. Утилита PGADMIN III Глава 1. Установка POSTGRESQL
Fedora 24 # su - postgres $ psql # \password postgres
После ввода пароля выход в командную оболочку осуществляется вводом команды \q.
Далее следует изменить метод аутентификации для супер-
пользователя postgres:
Ubuntu 16.04 $ sudo nano /etc/postgresql/9.5/main/pg_hba.conf Fedora 24 # nano /var/lib/pgsql/data/pg_hba.conf
В данном примере для редактирования файла pg_hba.conf исполь­зуется текстовый редактор nano. В открывшемся файле необходимо заменить строку
local all postgres peer
на
local all postgres md5
После чего требуется перезапустить демон (службу) СУБД
PostgreSQL:
Ubuntu 16.04 $ sudo systemctl restart postgresql Fedora 24 # systemctl restart postgresql
1.3 Утилита pgAdmin III — графическое средство для администрирования СУБД PostgreSQL
Администрирование СУБД PostgreSQL может осуществляться через графическое приложение pgAdmin III. Использование подоб­ных средств облегчает администрирование за счет наличия при­вычного для неподготовленного пользователя графического интер­фейса.
Основное окно pgAdmin представлено на рисунке 1.8 и содер­жит несколько областей:
14
Глава 1. Установка POSTGRESQL 1.3. Утилита PGADMIN III
Браузер объектов – древовидная структура, содержащая ос­новные объекты сервера СУБД PostgreSQL. Браузер объектов позволяет просматривать, создавать, редактировать и удалять различные объекты: базы данных, таблицы, последовательно­сти и т. д. Возможности этого средства достаточно широки, причем большинство операций выполняются визуально, а от пользователя не требуется знание языка SQL;
Панель SQL – отображает представление выбранного объекта СУБД PostgreSQL в виде SQL-запроса для повышения нагляд­ности. Например, данный SQL-запрос может быть использован для создания точной копии структуры выбранной таблицы в новой базе данных;
Область отчетов – отображает различные виды отчетов о вы­бранном объекте СУБД PostgreSQL.
Рис. 1.8. Основное окно pgAdmin III
15
1.3. Утилита PGADMIN III Глава 1. Установка POSTGRESQL
Рис. 1.9. Диалог для добавления подключения к серверу PostgreSQL
Рис. 1.10. Диалог для выполнения SQL-запросов к базе данных
16
Глава 1. Установка POSTGRESQL 1.4. Утилита PSQL
Для начала работы с pgAdmin требуется создать новое под­ключение к серверу PostgreSQL. При выборе пункта меню Файл Ñ Добавить сервер откроется диалог для добавления подключения к серверу (рис. 1.9).
Параметры для подключения к локальному серверу PostgreSQL, процесс установки которого описан ранее в данной главе, могут быть представлены следующими значениями:
Имя – любое значение, например, localhost или myserver;
Хост – localhost или 127.0.0.1;
Порт – 5432;
Имя пользователя – postgres;
Пароль – пароль, указанный в процессе установки СУБД
PostgreSQL.
На рисунке 1.10 представлен диалог для выполнения SQL-запросов к базе данных (пункт меню Инструменты Ñ Инструмент запросов). Данное средство позволяет выполнять запросы, введенные вручную либо загруженные из файла, при этом в панели вывода отобразится результат выполнения запроса в виде отношения.
1.4 Утилита psql – интерактивный терминал для администрирования СУБД PostgreSQL
Администрирование СУБД PostgreSQL может осуществлять­ся через интерактивный терминал psql. Использование подобных средств облегчает администрирование за счет наличия широкого набора команд, предоставляющих пользователю всю гибкость и мощь командных оболочек. При этом все преимущества использо­вания psql будут доступны пользователю только после понимания принципов работы с командными оболочками и изучения необхо­димых команд.
Для запуска psql в операционной системе семейства Windows NT можно использовать ярлык, расположенный по адресу Пуск Ñ PostgreSQL 9.5 Ñ SQL Shell (psql). В открывшемся окне требуется указать соответствующие параметры:
Server (адрес сервера) – localhost или 127.0.0.1;
17
1.4. Утилита PSQL Глава 1. Установка POSTGRESQL
Database (название базы данных) – postgres;
Port (номер порта) – 5432;
Username (имя пользователя) – postgres;
Password (пароль пользователя) – пароль, указанный в процессе
установки СУБД PostgreSQL.
В операционной системе семейства GNU/Linux для запуска
psql требуется выполнить следующую команду:
$ psql -h localhost -U postgres -p 5432 -d postgres
Данная команда содержит основные параметры для подключения к базе данных:
-h – адрес сервера;
-U – имя пользователя;
-p – номер порта;
-d – название базы данных.
Расшифровка значений параметров представлена выше.
После запуска psql будет открыта командная оболочка (рис.
1.11), в которой можно выполнять SQL-запросы, также данная обо­лочка имеет набор встроенных команд. Рассмотрим команды для работы с буфером запросов (query buffer commands) и списком объ­ектов (listing commands). Более подробная информация о командах psql представлена в [3].
Рис. 1.11. Основное окно psql
18
Глава 1. Установка POSTGRESQL 1.4. Утилита PSQL
Таблица 1.1 содержит основные команды для работы с буфе­ром запросов.
Как видно из таблицы 1.1, команды для работы с буфером поз­воляют загружать запросы из внешних файлов, сохранять содержи­мое буфера во внешний файл, использовать внешний текстовый ре­дактор для модификации содержимого буфера. При использовании psql вместе с инструментами командной оболочки появляется воз­можность динамической генерации сценариев (цепочки запросов) в зависимости от различных входных параметров, что позволяет ав­томатизировать многие рутинные операции по администрированию СУБД PostgreSQL.
Таблица 1.1
Основные команды psql для работы с буфером запросов
Функция Команда Аргумент
Вывод содержимого буфера \p Выполнить запрос в буфере \g или ; файл или запрос Выйти из psql \q Очистить буфер \r Редактировать содержимое буфера во внешнем редакторе Вывести описание внутренних команд psql \? Вывести описание для SQL-операторов \h SQL-оператор Загрузить содержимое внешнего файла в буфер \i файл Записать содержимое буфера во внешний файл \w файл Показать/сохранить историю запросов \s файл
\e файл
Таблица 1.2 содержит основные команды для работы со спис­ком объектов.
Как видно из таблицы 1.2, данные команды предоставляют ин­формацию о таблицах, индексах, функциях и других объектах базы данных. Многие команды для работы со списком объектов имеют необязательный параметр название, который может быть задан ре­гулярным выражением. Например, команда \dt art выведет список всех таблиц, имена которых начинаются с art, а команда \dt .*a.* выведет список всех таблиц, имена которых содержат символ a.
При использовании команды \dd выводится информация об описаниях, заданных для типов данных и функций. PostgreSQL име-
19
1.5. Контрольные вопросы Глава 1. Установка POSTGRESQL
ет множество предопределенных описаний, однако пользователь, с помощью SQL-оператора COMMENT, может задавать свои собственные описания.
Многие из представленных в таблице 1.2 команд имеют воз­можность выводить дополнительную информацию, для этого необ­ходимо добавить к команде символ +. Например, команда \dT вы­водит список типов данных, а команда \dT+, помимо этого, также содержит размер каждого типа.
Таблица 1.2
Основные команды psql для работы со списком объектов
Тип объекта Команда Аргумент
Таблицы, индексы, представления, последовательности Таблицы \dt название Индексы \di название Представления \dv название Последовательности \ds название Права доступа \z или \dp название Системные таблицы \dS название Большие объекты \dl название Типы данных \dT название Функции \df название Операторы \do название Агрегатные функции \da название Описания объектов \dd название Базы данных \l
\d название

1.5 Контрольные вопросы

1. Перечислите основные параметры команды утилиты psql для подключения к базе данных.
2. Перечислите основные команды утилиты psql для работы с буфером запросов.
3. Перечислите основные команды утилиты psql для работы со списком объектов.
20
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]