(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Вышел PostgreSQL 10

Источник: habrahabr


Итак, что же нового в этой версии PostgreSQL?

Во-первых, изменилось само версионирование. До "десятки" мы наблюдали множество минорных версий 9.x, которые выходили примерно раз в год и при этом вносили серьезные, далеко не минорные изменения. Поэтому с версии 10 было принято решение сделать нумерацию 10, 11, 12 и т.д. Кстати, MySQL, похоже пошел по тому же пути, прыгнул с 5.7 на 8.0

Ладно, это всё мелочи, перейдем к существу вопроса


Логическая репликация


Это то, чего все ждали давным-давно. Замена различным расширениям а ля slony (репликация на триггерах) и другим костылям.

Теперь вы можете из коробки делать репликацию отдельных таблиц на другие базы.

Репликация делается с помощью команд CREATE PUBLICATION и CREATE SUBSCRIPTION. Всё достаточно просто.

Понятно, что фича достаточно новая, поэтому на данный момент в логической репликации отсутствуют некоторые фичи.

  • нет репликации схемы/DDL
  • нет репликации сиквенсов
  • не реплицируется команда TRUNCATE

Тем не менее это все равно огромный шаг вперед, в каких-то случаях можно выкинуть slony!

Партиционирование


Если раньше партиции можно было накостылять через наследование таблиц, то в десятке появилось для этого встроенное средство, которое называется declarative partitioning.

Для этого у главной таблицы добавляется ключевое слово PARTITON BY RANGE (или LIST), которое говорит, что эта таблица партициирована (или как это правильно сказать по-русски?).

У конкретных партиций с помощью выражения PARTITION OF ... FOR VALUES FROM (...) TO (...)задается диапазон их данных.

У партиций есть ряд ограничений, которые стоит иметь в виду, прежде чем использовать на продакшене: Limitations of declarative partitioning in PostgreSQL 10

Identity columns


Если вкратце, то появилась возможность писать

id int GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY

вместо

id serial PRIMARY KEY

Что это дает?
Дело в том, что слово serial - это грубо говоря алиас к конструкции DEFAULT nextval('имя сиквенса'). Т.е. по сути таблица отдельно, сиквенс отдельно. Это бывает удобно, а бывает нет. Например, это приводит к тому, что если вы даете права на вставку в таблицу (GRANT INSERT), вам приходится еще отдельно давать гранты на сиквенс.

Кстати, новая запись соответствует стандарту SQL.

Прочее


  • Улучшился паралеллизм, в частности Parallel Bitmap Heap Scan, Parallel Index Scan, Parallel Merge Join и т.д. Подробно можно прочесть в блоге Роберта Хааса
  • Улучшена производительность физической репликации
  • Hash-индексы стали реплицируемы
  • Поддержка полнотекстового поиска на jsonb колонках
  • SCRAM-аутентификация
  • улучшенная поддержка работы с xml
  • улучшен планировщик запросов при использовании join: если планировщик поймет, что объединенные строки не могут произвести в джойне больше одной строки, то можно не тратить лишнее время на поиск других строк. Примеры запросов можно посмотреть в тестах этого комита

Полный список изменений можно посмотреть здесь.

Если кто-то уже успел попробовать v10 в бою, поделитесь, плиз, своими впечатлениями в комментариях.

UPDATE. Есть мнение, что система версий не очень. Надо было называть PostgreSQL X, чтобы быть в тренде :)

Ссылки по теме


 Распечатать »
 Правила публикации »
  Обсудить материал в конференции Дискуссии и обсуждения общего плана »
Написать редактору 
 Рекомендовать » Дата публикации: 09.10.2017 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
SmartBear QAComplete Concurrent User Subscription License - On Premise (1 Year Subscription)
VideoStudio X9 Pro. Электронный ключ.
Zend Studio Commercial License 1 Year Free Upgrades
Microsoft SQL Server Standard Core 2017 Sngl OLP 2Licenses NoLevel CoreLic Qualified
SmartBear AQtime Pro - Node-Locked License (Includes 1 Year Maintenance)
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Программирование на Microsoft Access
CASE-технологии
OS Linux для начинающих. Новости + статьи + обзоры + ссылки
Программирование в AutoCAD
СУБД Oracle "с нуля"
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
Обсуждения в форумах
Как заказчики обманывают наивных художников и дизайнеров (19)
Ни один уважающий себя деловой человек не будет бесплатно раздавать свою работу и тратить время...
 
Разработка программ базы данных (44)
Написание прикладных компьютерных программ (базы данных) на заказ. Разработка корпоративных...
 
Парная нелинейная регрессия по параметрам (1)
Модуль «Парная нелинейная регрессия по параметрам». Вход: двумерный массив чисел; одномерный...
 
Вакансия: Java-программист уровня middle-senior на удаленку (1)
Всем добрый день! Я рекрутер компании GameShells, которая занимается разработкой мобильных...
 
Написание программ на заказ для компьютеров и контроллеров (2)
Программист (удаленный работник) оказывает (принимает заявки на разработку и написание программ...
 
 
 



    
rambler's top100 Rambler's Top100