Пакет postgresql, SQL сервер PostgreSQL, 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 в стилі System V. Якщо цей файл є, то він автоматично
виконується при завантаженні системи.
Каталог / etc / cron.d містить наступні файли:
postgresql Цей файл використовується в Debian Linux для запуску, програми do.maintenance
о 4 годині ночі кожен день. Зрозуміло, що час можна змінити.
Каталог / usr / bin містить наступні файли:
pg_wrapper Спеціальна програма, яка виконує деякі службові функції і не
може бути викликає під своїм ім'ям, а тільки як символьне посилання на іншу
програму з реальним ім'ям.
createdb Файл содежіт сценарій для створення нової бази даних.
createuser Файл містить сценарій для створення нового користувача.
destroydb Файл містить сценарій для видалення існуючої бази даних.
destroyuse r Файл містить сценарій для видалення існуючого користувача.
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 розміщуються бази
даних, кожна в своєму окремому каталозі.

Після інсталяції цього пакета в / 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


Цей файл може містити два види записів:


  1. Запис виду "host".
  2. Запис типу "local".

Запис виду "host" виглядає наступним чином:

host <ім'я бази даних> <маска адреси>
<Спосіб авторизації доступу> [аргумент для авторизації]

Тут IP_адрес і маска_адреса це адреса комп'ютера в мережі з його мережевий
маскою у вигляді "ABCD". Використовуючи маску адреси можна задати не один комп'ютер,
а групу комп'ютерів. Наприклад, при значеннях 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) протокол. Якщо при цьому заданий
Аргумент для авторизації, то він являє собою назву картки, яке повинне
присутнім у файлі 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.

Я не є великим любителем цієї мови, тому я нічого не зможу вам
розповісти про те як це робиться і наскільки добре.

Я запрошую тих, хто розібрався з цим, розповісти про це іншим або
використовуючи свою окрему статтю, або надіславши свої нотатки мені для розміщення їх
тут, на цьому самому місці.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*