PostgreSQL: відмінності між версіями

[перевірена версія][перевірена версія]
Вилучено вміст Додано вміст
Немає опису редагування
мНемає опису редагування
Рядок 18:
Порівняно з іншими проєктами з відкритим кодом, такими як [[Apache]], [[FreeBSD]] або [[MySQL]], PostgreSQL не контролюється якоюсь однією компанією, її розробка можлива завдяки співпраці багатьох людей та компаній, які хочуть використовувати цю СКБД та впроваджувати у неї найновіші досягнення.
 
Сервер PostgreSQL написаний на [[C (мова програмування)|мові C]]. Зазвичай розповсюджується у вигляді набору текстових файлів із [[сирцевий код|сирцевим кодом]]. Для інсталяції необхідно [[компіляціяКомпілятор|відкомпілювати]] файли на своєму [[комп'ютер]]і і скопіювати в деякий каталог. Весь процес детально описаний в документації.
 
== Історія ==
Рядок 27:
=== Функції ===
Функції дозволяють виконувати деякий код безпосередньо сервером бази даних. Ці функції можуть бути написані на [[SQL]], який має деякі примітивні програмні оператори, такі як галуження та цикли. Але гнучкішою буде функція написана на одній із мов програмування, з якими PostgreSQL може працювати. До таких мов належать:
* Вбудована мова, яка зветься [[{{нп|PL/pgSQL]]|||PL/pgSQL}}, подібна до процедурної мови [[PL/SQL]] компанії [[Oracle Corporation|Oracle]].
* Мови розробки сценаріїв: [[{{нп|PL/Perl]]|||PL/Perl}}, [[PL/Python]], [[PL/Tcl]], [[PL/Ruby]], [[PL/sh]].
* Класичні мови програмування [[C (мова програмування)|C]], [[C++]], [[Java]] (за допомогою [[PL/Java]]).
Функції можуть виконуватись із привілеями користувача, який її викликав, або із привілеями користувача, який її написав.
 
=== Індекси ===
У PostgreSQL є підтримка індексів наступних типів: [[B-дерево]], [[хешГеш-таблиця|геш]], [[R-дерево]], GiST, GIN. При необхідності можна створити нові типи індексів.
 
=== Багатоверсійність (MVCC) ===