Отличия PostgreSQL от MySQL

PostgreSQL — это объектно-реляционная система управления базами данных.
Не секрет, что Postgres обладает более богатыми функциональными возможностями, чем более распространенная MySQL.

Вот некоторые преимущества PostgreSQL:

1. Разнообразие типов данных.

Например такие как: денежный — money; сетевой адрес — inet,cidr,macaddr; а еще диапазоны, геометрические сущности, массивы, xml, json, композитные типы и tsquery для текстового поиска;

2. Использование курсоров.

Представьте, что ваша выборка очень большая и для ее передачи требуется соответствующий объем оперативной памяти. С помощью курсора выборку можно передавать частично;

3. Функциональные и частичные индексы;

В первом случае при создании индекса можно указать функцию, а во втором условие для создания индекса.

4. Наследование таблиц;

Удобно использовать когда данные можно разделять по принципу — общее-частное, создается родительская таблица с общими полями, а также дочернии — с частными, затем делаем вставки данных в дочернии таблицы, а выборку можно делать одну — только из родительской таблицы и в выборку попадут данные из дочерних таблиц.

5. События и сигналы уведомлений;

Можно настраивать триггеры на изменении данных в таблицах и выполнении при этом заданных процедур, например удобно реализовывать логирование.

6. Расширенные возможности управления транзакциями;

Выполняя запросы внутри блока BEGIN — COMMIT, мы имеем уверенность, что наши данные не пропадут и в случае неблагоприятного для нас результата, у нас есть возможность выполнить откат — ROLLBACK.

В целом синтаксис написания запросов у Postgres и Mysql очень схож, хотя Postgres более строго придерживается стандарта ANSI-SQL.

Демо

В демонстрационном скрипте я реализовал удобный ввод запросов и вывод результатов для наглядности:

Исходный код доступен здесь
https://github.com/selff/learn-postgres-demo

Результат вывода можно увидеть здесь
http://selikoff.ru/LearnPostgreSQL.html

Отличия PostgreSQL от MySQL
Tagged on: