Обзор по составу пакета PostgreSQL для Debian Linux
Пакеты в Debian как они есть
Начнем с того, что пакетов, посвященных PostgreSQL в Debian Linux
не один. В то же время, это вполне закономерно и удобно. Действительно,
если вам нужна только серверная часть, то зачем ставить все остальное?
Хочу также заметить, что я перечисляю и описываю только те составляющие пакетов
и те пакеты, которые на мой взгляд заслуживают внимания.
Итак, перечисляю пакеты:
| Название пакета | Описание
|
|---|
| postgresql | Сам PostgreSQL и набор прилагаемых к нему программ
| | libpgsql | Клиентская утилита psql и разделяемые (shared) библиотеки к ней
| | postgresql-doc | Документация по PostgreSQL
| | postgresql-dev | include файлы для разработчиков
| | libpgtcl | Программа pgaccess на tcl и библиотека для разработчиков на tcl
| | libpgperl | Библиотека для разработчиков на Perl
|
Пакет postgresql
В этом пакете содержиться все, что необходимо для настройки и запуска
PostgreSQL. Если вы не планируете писать на C собственные программы для
работы с PostgreSQL и не нуждаетесь в документации, то этот пакет -
все что вам нужно. Вам нет необходимости ставить что-то еще.
Пройдемся по составу этого пакета
| Каталог /etc/postgresql содержит следующие файлы:
|
|---|
| postmaster.init | Этот файл вызывается через postgresql.env и
обеспечивает запуск демона PostgreSQL, а также установку некоторых важных
параметров.
| | postmaster.env | Этот файл вызыватеся через /etc/init.d/postgresql и
устанавливает необходимые переменные окружения.
| | pg_hba.conf | В этом файле описываются клиентские компьютеры сети,
с которых разрешен доступ к SQL серверу, а также методы идентификации клиентов.
| | pg_ident.conf | Этот файл используется при установке способа
идентификации клиентов через ident сервер.
| | Каталог /etc/init.d содержит следующие файлы:
|
|---|
| postgresql | Этот файл используется в Debian Linux для запуска,
перезапуска и останова PostgreSQL PostgreSQL (произносится «Пост-Грес-Кью-Эл», в профессиональной среде коротко называется «постгрес»)— свободная объектно-реляционная система управления базами данных (СУБД). в стиле System V. Если этот файл есть,
то он автоматически выполняется при загрузке системы Система (от др.-греч. — «сочетание»)— множество взаимосвязанных элементов, обособленное от среды и взаимодействующее с ней, как целое..
| | Каталог /etc/cron.d содержит следующие файлы:
|
|---|
| postgresql | Этот файл используется в Debian Linux для запуска,
программы do.maintenance в 4 часа ночи каждый день. Разумеется, что время
можно изменить.
| | Каталог /usr/bin содержит следующие файлы:
|
|---|
| pg_wrapper | Специальная программа Программа - (от греч. — пред, греч. — запись) термин, в переводе означающий «предписание», т.е., которая выполняет некоторые
служебные функции и не может быть вызывана под своим именем, а только как
символьная ссылка на другую программу с реальным именем.
| | createdb | Файл содежит сценарий для создания новой базы данных.
| | createuser | Файл содержит сценарий Сценарий— литературно-драматическое произведение, написанное как основа для постановки кино- или телефильма. Сценарий в кинематографе, как правило, напоминает пьесу и подробно описывает каждую сцену и диалоги персонажей. Иногда сценарий представляет собой адаптацию отдельного литературного произведения для кинематографа, иногда в этом случае автор романа бывает и автором сценария (сценаристом). Сценарист-это человек, который пишет сценарий к фильму. Иногда многие сценаристы заняты в написании одного и того же сценария, прежде чем режиссер выберет лучший. Необязательно автор книги становится сценаристом при ее экранизации. Эта работа обычно отдается сценаристу. для создания нового пользователя.
| | destroydb | Файл содержит сценарий для удаления существующей базы данных.
| | destroyuser | Файл содержит сценарий для удаления существующего пользователя.
| | pg_dump | Символьняа ссылка на pg_wrapper. С помощью этой команды
можно получить SQL запрос, которые создаст структуру БД заново со всеми
установленным в данным момент правами, ограничениями и индексами.
| | Каталог /usr/lib/postgresql/bin содержит следующие файлы:
|
|---|
| postgres | Сам SQL сервер
| | postmaster | Символьная ссылка на postgres. Выполняет специфическую
функцию связи frontend и backend процессов (см. схему в документации на
PostgreSQL).
| | pg_id | Показывает ID текущего пользователя.
| | pg_version | Создает файл PG_VERSION в заданном каталоге.
| | pg_dump | См. выше.
| | pg_dumpall | То же, что и pg_dump, только для всех существующих баз данных.
| | pg_upgrade | Позволяет производить обновление баз данных с предыдующих
версий без разрушения данных.
| | pg_passwd | Управляет файлом с паролями для PostgreSQL.
| | cleardbdir | Полное уничтожение всех баз данных.
| | createdb | См. выше.
| | createlang | Установка процедурного языка в базу данных.
| | createuser | См. выше.
| | destroydb | См. выше.
| | destroylang | Удаление процедурного языка из базы данных.
| | destroyuser | См. выше.
| | initdb | Создает новую струкртуру базы данных для PostgreSQL с
нуля. Используется при начальной устновке PostgreSQL.
| | vacuumdb | Уплотняет базу данных.
| | initlocation | Создает новое дерево Дерево— типичная форма деревянистых растений, имеющих ствол из древесины с лиственной кроной. каталогов для размещения в
нем баз данных PostgreSQL с нуля.
| | ipclean | Очищает распределенную память и семафоры для прекративших
свое существования соединений.
| | postgresql-startup | Утилита, которая используется при запуске
PostgreSQL и которая производит диагностику во время запуска.
| | do.maintenance | Вызывается из /etc/cron.d/postgresql для того,
чтобы во время отсутствия обращений к базам данных выполнить команду
vacuum.
| | postgresql-dump | Утилита для снятия дампа с базы данных и уничтожения
этой базы, если ее предыдующая версия не совместима с текущей.
|
В каталоге /var/postgres/data находится некоторое
количество служебных файлов для PostgreSQL, а в каталоге /var/postgres/data/base
размещаются базы данных, каждая в своем отдельном каталоге.
После установки этого пакета Пакета (порт. Paquet) — муниципалитет в Бразилии, входит в штат Пиауи. Составная часть мезорегиона Юго-восток штата Пиауи. Входит в экономико-статистический микрорегион Пикус. Население составляет 4430 человек на 2006 год. Занимает площадь 448,457км. Плотность населения - 9,9 чел./км. в /var/postgres/data/base будет автоматически
создана база данных template1, а также выполнены практически все действия,
которые необходимы для начала работы. Однако есть ряд настроек, которые
вам просто наверняка понадобиться изменить. Остановимся на этом поподробнее.
Все эти настройки связаны с двумя файлами: /etc/postgresql/pg_hba.conf
и /etc/postgresql/postmaster.init.
Начнем с postmaster.init.
Убедитесь, что вы root и откройте этот файл в любом текстовом редакторе.
Если вам нужно протоколирование и вывод отладочной информации, уберите
комментарий со строки с переменной
POSTGRES_LOG /var/log/postgres.log
Установить нужный уровень отладочной информации вам поможет переменная
PGDEBUG
Если нужно, чтобы ваши запросы к базе данных также протоколировались, то
уберите комментарий со строки
PGECHO
Стиль даты вам поможет установить переменная
PGDATESTYLE
Переменных там достаточно много. Они довольно хорошо задокументированы,
так что остальное я оставляю для вашего самостоятельного изучения. Однако
просто необходимо упомянуть о переменной
PGALLOWTCPIP
Если вы хотите дать доступ к своему SQL серверу по сети через TCP/IP, то вам
необходимо установить ее в "yes" иначе ничего не получиться. Кроме того, не
забывайте после этого проверить как предоставлены права доступа с других
компьютеров в файле pg_hba.conf.
Теперь поговорим о pg_hba.conf
Этот файл может содержать два вида записей:
- Запись вида "host".
- Запись типа "local".
Запись вида "host" выглядит следующим образом:
host <имя базы данных> <маска адреса> <способ авторизации доступа> [аргумент для авторизации]
Здесь IP_адрес и маска_адреса это адрес компьютера
в сети с его сетевой маской в виде "A.B.C.D". Используя маску адреса
можно задать не один компьютер, а группу компьютер Компьютер (англ.computer— «вычислитель»), электронная вычислительная машина (ЭВМ)— вычислительная машина, предназначенная для передачи, хранения и обработки информации.ов. Например, при значениях
192.168.10.88 и 255.255.255.0 для IP-адреса и маски адреса соответственно,
мы определяем весь диапазон адресов от 192.168.10.1 до 192.168.10.254
(учитывая, что 192.168.10.255 - это широковещательный адрес).
Параметр Параметр (от др.-греч. — соразмеряю)— величина, значения которой служат для различения групп элементов некоторого множества между собой. (Следует отличать от идентификатора отдельного элемента.) Способ Метод (от греч. — «способ»)— систематизированная совокупность шагов, действий, которые необходимо предпринять, чтобы решить определенную задачу или достичь определенной цели. В отличие от области знаний или исследований, является авторским, то есть созданным конкретной персоной или группой персон, научной или практической школой. В силу своей ограниченности рамками действия и результата, методы имеют тенденцию морально устаревать, преобразовываясь в другие методы, развиваясь в соответствии с временем, достижениями технической и научной мысли, потребностями общества. Совокупность однородных методов принято называть подходом. Развитие методов является естественным следствием развития научной мысли. авторизации доступа может принимать следующие
значения:
| ident | Авторизация доступа осуществляется через ident сервер,
расположенный на удаленном компьютере через ident (RFC 1413) протокол Протокол (от др.-греч. protos— «первый» и kolla— «клей»)— первый лист, приклеенный к свитку. На нем фиксировались титульная информация (например, дата написания, имя писателя) и краткое основное содержание свитка.. Если
при этом задан Аргумент для авторизации, то он представляет
собой имя карты, которое должно присутствовать в файле pg_ident.conf.
(см. документацию для подробностей).
| | trust | В этом режиме авторизации доступа не производится. Соединение
считается доверительным.
| | reject | Попытки соединений с этого адреса будут отвергаться.
| | password | Авторизация доступа через пароль. Файл с паролями создается
утилитой pg_password. Если задан Аргумент для авторизации, то
пароль ищется в файле, который имеет имя этого аргумента, и который находится
в каталоге, заданном в переменной PGDATA. Если аргумент опущен, то пароль
берется из таблицы pg_shadow.
| | crypt | Авторизация доступа осуществляется путем сравнения
зашифрованного пароля, пришедшего от компьюетра, который запрашивает
соедиенение с паролем из таблицы pg_shadow.
| | krb4 и krb5 | Идентификация по протоколу Цербер версий 4 и 5 соответственно.
|
Запись вида "local" выглядит следующим образом:
local <имя базы данных> <способ авторизации доступа> [аргумент для авторизации]
Эта запись определяет авторизацю доступа к базе данных локальных пользователей.
Здесь практически все тоже самое, что и для "host", за исключением того,
что IP-адрес и маска адреса опущены за ненадобностью.
На этом позвольте обзор пакета postgresql закончить.
Пакет libpgsql
Пакет содержит разделяемые (shared) библиотеки, которые использует клиентская
утилита пользователя psql, а также саму эту утилиту.
Если вы планируете работать с PostgreSQL как с сервером с других машин,
то утилита psql вам не нужна. Однако ее присутствие может оказаться
полезным для выполнения некоторых функций администрирования пользователей и
(или) баз данных.
Утилита psql обеспечивает работу с PostgreSQL с комадной строки.
Вы можете подключаться к базам данных, выполнять запросы и любые другие команды
языка SQL.
Пакет postgresql-doc
В этом пакете собрана вся имеющаяся документация по PostgreSQL.
Начинающим пользователям она просто необходима. В документации можно найти
ответы практически на все вопросы. Хотя, к сожалению, я должен заметить,
что мне не нравится как задокументирован системный каталог. Для российского
пользователя определенным недостатком является то, что документация Документация— процесс отбора, классификации, использования и распространения документов. Работа специалиста по подбору документации относится к сфере услуг и образования, особенно если речь идёт о преподавателях, заведующих библиотеками школ и училищ, у которых преобладает педагогический уклон в сфере поиска и использования информации. на
английском языке.
Документация представленна как в формает Postscript (.ps файлы) так и в
формате HTML.
Пакет libpgtcl
Этот пакет вызывает у меня наибольшее умиление Елеуса (греч. — милующая от — сострадание, сочувствие), Элеуса, Умиление— один из основных типов изображения Божией Матери в русской иконописи. Богородица изображена с Младенцем Христом, сидящим на Её руке и прижимающимся щекой к Её щеке. На иконах Богородицы Елеусы между Марией (символом и идеалом рода человеческого) и Богом-Сыном нет расстояния, их любовь безгранична. Икона прообразует крестную жертву Христа Спасителя как высшее выражение любви Бога к людям., как у человека, которому
очень нравится язык Tcl.
Мне очень хотелось бы сказать огромное спасибо тем людям, которые сделали
возможным столь легкий и красивый доступ к базам данным в PostgreSQL
из этого языка. О том как это делается, я рассчитываю поговорить в отдельной
статье позднее (см. обновления начальной странички).
Пока же отмечу наличие в этом пакете программы pgaccess, которая
целиком написана на Tcl с использованием подгружаемой библиотеки
libpgtcl.
С помощью этой программы, вы можете в X Window, пользуясь полной визуальностью
и наглядностью создавать базы данных, таблицы, изменять их и даже вводить
данные в полноэкранном режиме.
Замечание: Если вы планируете пользоваться программой pgaccess,
то вы должны разрешить доступ к SQL-серверу по TCP/IP (см. postmaster.init выше)
Пакет libpgperl
Пакет содержит библиотеки для языка Perl, которые позволяют работать с
PostgreSQL из программ Perl.
Я не являюсь большим любителем этого языка, по этому я ничего не смогу вам
рассказать про то как это делается и насколько хорошо.
Я приглашаю тех, кто разобрался с этим, рассказать об этом остальным либо
используя свою отдельную статью, либо прислав свои заметки мне для размещения
их здесь, на этом самом месте.
|