Лекция
Привет, Вы узнаете о том , что такое postgresql, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое postgresql , настоятельно рекомендую прочитать все из категории Базы данных, знаний и хранилища данных. Big data, СУБД и SQL и noSQL.
PostgreSQL базируется на языке SQL и поддерживает многие из возможностей стандарта SQL:2011.
На данный момент PostgreSQL имеются следующие ограничения:
Важнейшие ТТХ PostgreSQL
Функции являются блоками кода, исполняемыми на сервере, а не на клиенте БД. Хотя они могут писаться на чистом SQL, реализация дополнительной логики, например, условных переходов и циклов, выходит за рамки собственно SQL и требует использования некоторых языковых расширений. Функции могут писаться с использованием одного из следующих языков:
PostgreSQL допускает использование функций, возвращающих набор записей, который далее можно использовать так же, как и результат выполнения обычного запроса.
Функции могут выполняться как с правами их создателя, так и с правами текущего пользователя.
Иногда функции отождествляются с хранимыми процедурами, однако между этими понятиями есть различие. С девятой версии возможно написание автономных блоков, которые позволяют выполнять код на процедурных языках без написания функций, непосредственно в клиенте.
Триггеры определяются как функции, инициируемые DML-операциями. Например, операция INSERT может запускать триггер, проверяющий добавленную запись на соответствия определенным условиям. При написании функций для триггеров могут использоваться различные языки программирования.
Триггеры ассоциируются с таблицами. Множественные триггеры выполняются в алфавитном порядке.
Механизм правил (rules) представляет собой механизм создания пользовательских обработчиков не только DML-операций, но и операции выборки. Основное отличие от механизма триггеров заключается в том, что правила срабатывают на этапе разбора запроса, до выбора оптимального плана выполнения и самого процесса выполнения. Правила позволяют переопределять поведение системы при выполнении SQL-операции к таблице.
Хорошим примером является реализация механизма представлений (views). При создании представления создается правило, которое определяет, что вместо выполнения операции выборки к представлению система должна выполнять операцию выборки к базовой таблице/таблицам с учетом условий выборки, лежащих в основе определения представления. Для создания представлений, поддерживающих операции обновления, правила для операций вставки, изменения и удаления строк должны быть определены пользователем.
В PostgreSQL имеется поддержка индексов следующих типов: B-дерево, хэш, R-дерево, GiST, GIN. При необходимости можно создавать новые типы индексов, хотя это далеко не тривиальный процесс.
Индексы в PostgreSQL обладают следующими свойствами:
ORDER BY ... DESC
не нужно;PostgreSQL поддерживает одновременную модификацию БД несколькими пользователями с помощью механизма Multiversion Concurrency Control (MVCC). Благодаря этому соблюдаются требования ACID, и практически отпадает нужда в блокировках чтения.
PostgreSQL поддерживает большой набор встроенных типов данных:
Более того, пользователь может самостоятельно создавать новые требуемые ему типы и программировать для них механизмы индексирования с помощью GiST.
PostgreSQL может быть расширен пользователем для собственных нужд практически в любом аспекте. Есть возможность добавлять собственные:
Таблицы могут наследовать характеристики и наборы полей от других таблиц (родительских). При этом данные, добавленные в порожденную таблицу, автоматически будут участвовать (если это не указано отдельно) в запросах к родительской таблице.
На базе PostgreSQL компанией EnterpriseDB созданы более мощные варианты этой СУБД, являющиеся платными для коммерческого использования – Postgres Plus (состоит целиком только из продуктов с открытыми исходными кодами; плата требуется только при необходимости приобретения коммерческой поддержки продукта) и Postgres Plus Advanced Server (расширение PostgreSQL специальными возможностями для обеспечения совместимости с Oracle Database). В комплекте поставки данных продуктов содержится большой набор ПО для разработчиков и DBA:
PostgreSQL на данный момент является одной из самых (если не самой-самой) перспективных СУБД в мире. Благодаря великолепной архитектуре, бесплатности, отличному сообществу и огромнейшим возможностям.
Обычно PostgreSQL сравнивают с MySQL. Но на данный момент PostgreSQL далеко обходит по возможностям MySQL. И, благодаря своим возможностям по аналитике данных и манипулированию ими, зачастую может конкурировать с признанными лидерами рынка enterprise-СУБД: Oracle и MS SQL.
А благодаря своим возможностям в области хранения нереляционных данных (JSON, text search types, HStore) PostgreSQL напрямую конкурирует с NoSQL-решениями (например, MongoDB).
Название | ASE | DB2 | FireBird | InterBase | MS SQL | MySQL | Oracle | PostgreSQL |
---|---|---|---|---|---|---|---|---|
ACID | Yes | Yes | Yes | Yes | Yes | Depends1 | Yes | Yes |
Referential integrity | Yes | Yes | Yes | Yes | Yes | Depends1 | Yes | Yes |
Transaction | Yes | Yes | Yes | Yes | Yes | Depends1 | Yes | Yes |
Unicode | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Schema | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes |
Temporary table | No | Yes | No | Yes | Yes | Yes | Yes | Yes |
View | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes |
Materialized view | No | Yes | No | No | No | No | Yes | No3 |
Expression index | No | No | No | No | No | No | Yes | Yes |
Partial index | No | No | No | No | No | No | No | Yes |
Inverted index | No | No | No | No | No | Yes | No | No |
Bitmap index | No | Yes | No | No | No | No | Yes | No |
Domain | No | No | Yes | Yes | No | No | Yes | Yes |
Cursor | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes |
User Defined Functions | Yes | Yes | Yes | Yes | Yes | No4 | Yes | Yes |
Trigger | Yes | Yes | Yes | Yes | Yes | No4 | Yes | Yes |
Stored procedure | Yes | Yes | Yes | Yes | Yes | No4 | Yes | Yes |
Tablespace | Yes | Yes | No | ? | Yes | No1 | Yes | Yes |
Название | ASE | DB2 | FireBird | InterBase | MS SQL | MySQL | Oracle | PostgreSQ |
Прочтение данной статьи про postgresql позволяет сделать вывод о значимости данной информации для обеспечения качества и оптимальности процессов. Надеюсь, что теперь ты понял что такое postgresql и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Базы данных, знаний и хранилища данных. Big data, СУБД и SQL и noSQL
Комментарии
Оставить комментарий
Базы данных, знаний и хранилища данных. Big data, СУБД и SQL и noSQL
Термины: Базы данных, знаний и хранилища данных. Big data, СУБД и SQL и noSQL