Пакет 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.

-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>

*

*