25 Ноября 2024, 22:10

PostgreSQL

Автор turbo, 07 Августа 2008, 19:05

« предыдущая тема - следующая тема »

0 Пользователей и 1 Гость просматривают эту тему.

Zhek@Ch

03 Марта 2011, 16:47 #20 Последнее редактирование: 03 Марта 2011, 16:47 от Zhek@Ch
[size="3"]Pqc и pgwatch - новые инструменты для кэширования запросов и мониторинга PostgreSQL [/size]

Представлены два новых полезных приложения для PostgreSQL:
  • Pqc (PostgreSQL Query Cache) - система кэширования запросов к PostgreSQL, позволяющая увеличить производительность СУБД при большом объеме типовых запросов в десятки и даже сотни раз. Pqc работает в виде прокси, принимающего запросы от клиентов и транслирующего их к PostgreSQL, результат определенных SELECT-запросов при этом сохраняется в памяти и в случае поступления повторного запроса, если не истек таймаут, данные выдаются из локального кэша. Поддерживается задание правил, какие запросы можно кэшировать, а какие нет. Также возможна настройка политики кэширования на основании длительности выполнения запроса или использовании в теле запроса специальных флаговых значений (команды передаются внутри комментария, например, "/* cache: refrash */ SELECT..." или "/* cache: on */ SELECT..."). Код Pqc написан на языке Си и распространяется в рамках лицензии BSD. Для хранения прокэшированных значений используется memcached.
  • Pgwatch - программа для организации мониторинга за работой PostgreSQL 9. Поддерживает отображение динамики изменения параметров через наглядные и интерактивные Flash-графики. Программа отличается простой настройкой и автоматизацией накопления статистики. Код написан на PHP и распространяется под свободной лицензией Artistic (обычно используется в Perl-проектах). Среди отслеживаемых параметров: интенсивность дискового ввода/вывода, эффективность внутренних кэшей, нагрузка на систему, число соединений к БД, число транзакций, информация от оптимизатора, доля прямых переборов и сканирований по индексу (Sequential/Index scans) и т.д.


Zhek@Ch

31 Марта 2011, 00:08 #21 Последнее редактирование: 31 Марта 2011, 00:08 от Zhek@Ch
[size="3"]Вышла пятая альфа-версия PostgreSQL 9.1. Релиз DBD::PG 2.18.0[/size]

Вышла пятая альфа-версия СУБД PostgreSQL 9.1, релиз которой ожидается в середине 2011 года. В пятой альфа-версии PostgreSQL 9.1 отмечено только два заметных улучшения, в остальном реализованы только небольшие улучшения и исправления ошибок. А анонсе утверждается, что скорее всего alpha5 будет последней альфа-версией в процессе подготовки PostgreSQL 9.1.

Из добавленных в PostgreSQL 9.1 Alpha 5 улучшений можно отметить:

  • Поддержка указания COLLATION-свойств для отдельных столбцов, доменов, индексов и выражений, что позволяет задать для разных столбцов свои правила хранения, сортировки и сравнения с учетом указанной локали. Например: CREATE TABLE test1 ( a text COLLATE "de_DE", b text COLLATE "ru_RU"...). Ранее COLLATION могли быть указаны только на уровне БД в целом.
  • Поддержка синхронной репликации, при которой запасной сервер (standby) будет содержать гарантированно совпадающие с основным сервером данные - до получения подтверждения записи синхронизированных данных транзакция не будет считаться завершенной. Ранее репликация на запасной сервер осуществлялась только в асинхронном режиме. Синхронную репликацию можно применять для отдельных транзакций, что позволяет комбинировать оба механизма, используя по умолчанию быстрый асинхронный механизм для обычных операций и надежный синхронный для наиболее критичных изменений;
  • Произведена переработка оптимизаций для агрегатных функций min/max;
  • Увеличены максимальные значения большинства настроек, связанных с установкой таймаутов;
  • Устранено более ста ошибок, в том числе исправлена утечка памяти при работе с массивами в PL/Python, решена проблема с эффектом гонки (race condition) в pg_basebackup, налажена обработка неизвестных литералов в запросах UNION, устранены проблемы связанные с делением на ноль, приведены в непротиворечивый вид права доступа для COMMENT ON ROLE.
Об улучшениях, добавленных в прошлых альфа-версиях, можно прочитать в тексте первого анонса.

Дополнение: Вышел релиз интерфейсного perl модуля для PostgreSQL - DBD::PG 2.18.0. В новой версии устранено несколько утечек памяти; добавлен новый метод cancel(); улучшена работа тестового инструментария.


Zhek@Ch

20 Апреля 2011, 02:45 #22 Последнее редактирование: 20 Апреля 2011, 02:46 от Zhek@Ch
[size="3"]Корректирующие релизы PostgreSQL: 9.0.4, 8.4.8, 8.3.15 и 8.2.21[/size]

Доступны новые релизы всех поддерживаемых веток PostgreSQL: 9.0.4, 8.4.8, 8.3.15 и 8.2.21. Наиболее важным исправлением в представленных выпусках является устранение критической ошибки в приложении pg_upgrade, которая может привести к нарушению обработки данных в базе (проблема проявляется появлением ошибки "ERROR: could not access status of transaction"). Перед использованием утилиты pg_upgrade необходимо обязательно установить специально подготовленный патч. Для тех, кто использовал pg_upgrade ранее, требуется запустить специальный скрипт, который поможет предотвратить нарушение работоспособности базы.

Из других изменений можно отметить:

  • Устранены проблемы со сборкой на системах HP-UX и Itanium;
  • Обновлены файлы с определением параметров перехода на зимнее/летнее время;
  • Устранена ошибка, которая могла привести к зависанию bgwriter в режиме восстановления;
  • Добавлена защита от выполнения рекурсивных операций в процессе создания составных типов;
  • Введен запрет на удаление таблиц для которых имеются незавершенные триггеры;
  • Снят запрет на использовании слова "replication" в качестве имени пользователя;
  • Решена проблема с крахом в процессе планирования работы GEQO;
  • Улучшен процесс планирования объединения таблиц в ситуации отсутствия накопленной статистики;
  • Исправлена ошибка, мешающая использованию в подзапросах конструкции "SELECT FOR UPDATE";
  • Устранена утечка памяти при работе с массивами в PL/python;
  • Добавлена поддержка создания SSL-соединений для пользователей без домашней директории;
  • Добавлена возможность сборки PostgreSQL 9.0 с использованием 64-разрядного инструментария MinGW.

Zhek@Ch

03 Мая 2011, 12:38 #23 Последнее редактирование: 03 Мая 2011, 12:38 от Zhek@Ch
[size="3"]Вышла первая бета-версия СУБД PostgreSQL 9.1 [/size]
 
После пяти альфа-выпусков подготовка релиза СУБД PostgreSQL 9.1 перешла на стадию бета-тестирования. Сообщается, что представленная бета-версия содержит все запланированные для версии PostgreSQL 9.1 улучшения. В рамках бета-тестирования новшества добавляться не будут - вся работа теперь сосредоточена на исправлении ошибок. Релиз PostgreSQL 9.1 ожидается в течение лета.

Ветка PostgreSQL 9.1 отличается большим объемом нововведений, вероятно одним из самых крупных в истории единичных релизов PostgreSQL. Некоторые из новшеств представляют собой инновации, впервые реализованные в PostgreSQL и еще не доступные в других СУБД. Из ключевых улучшений можно отметить:

  • Поддержка синхронной репликации, при которой запасной сервер (standby) будет содержать гарантированно совпадающие с основным сервером данные - до получения подтверждения записи синхронизированных данных транзакция не будет считаться завершенной. Ранее репликация на запасной сервер осуществлялась только в асинхронном режиме. Синхронную репликацию можно применять для отдельных транзакций, что позволяет комбинировать оба механизма, используя по умолчанию быстрый асинхронный механизм для обычных операций и надежный синхронный для наиболее критичных изменений;
  • Поддержка указания COLLATION-свойств для отдельных столбцов, доменов, индексов и выражений, что позволяет задать для разных столбцов свои правила хранения, сортировки и сравнения с учетом указанной локали. Например: CREATE TABLE test1 ( a text COLLATE "de_DE", b text COLLATE "ru_RU"...). Ранее COLLATION могли быть указаны только на уровне БД в целом.
  • Возможность исключение отражения в WAL-логе активности по отдельным таблицам. Подобные таблицы отличаются повышенной производительностью, но могут привести к потере данных в случае краха СУБД. Для создания подобных таблиц при выполнении "CREATE TABLE" следуюет указать признак "UNLOGGED";
  • Реализация KNN GiST индексов (K-Nearest-Neighbor), добавляющая в GiST поддержку алгоритма оптимального поиска ближайших соседей, что может быть использовано для организации поиска географических объектов;
  • Добавлен уровень изоляции "настоящая сериализация", основанный на REPEATABLE READ (бывший SERIALIZABLE), но с перепроверкой условий запроса (predicate locking);
  • Возможность использования выражения "WITH" с операциями INSERT, UPDATE, DELETE, что позволяет осуществить рекурсивное обновление столбцов или обновление по сложному критерию, ранее требовавшему написания встраиваемой процедуры;
  • Интеграция поддержки SELinux для управления доступом на уровне объектов БД. Для привязки SELinux-меток к объектам или изменения меток следует использовать выражение "SECURITY LABEL". Пример: "SECURITY LABEL FOR selinux ON TABLE mytable IS 'system_u:object_r:sepgsql_table_t:s0';";
  • Поддержка расширений, позволяющих упростить формирование пакетов, расширяющих функциональность СУБД. Для создания расширения следует использовать новые команды "CREATE/ALTER/DROP EXTENSION". Выражения createlang и droplang, а также старые методы установки contrib-модулей, в связи с появлением расширений объявлены устаревшими;
  • Поддержка прикрепленных таблиц SQL/MED (Management of External Data), позволяющих через таблицу-враппер управлять при помощи SQL внешними данными, не хранимыми силами СУБД.
Со списком более мелких улучшений, добавленных в прошлых альфа-версиях, можно познакомиться в тексте прошлого анонса.


Zhek@Ch

15 Мая 2011, 01:45 #24 Последнее редактирование: 15 Мая 2011, 01:45 от Zhek@Ch
[size="3"]Книга "Работа с Postgresql: настройка, масштабирование", версия 2[/size]
 
Вышла обновленная редакция книги "Работа с Postgresql: настройка, масштабирование". В книге иследуются вопросы по настройки производительности Postgresql, репликации и кластеризации. Изобилие реальных примеров позволит как начинающим, так и опытным разработчикам быстро разобратся с особенностями масштабирования Postgresql для своих приложений. Версия книги 2.0.0 beta. Пока что только сконвертирован pdf. Все правки и замечания автор просит указывать на этой странице - https://github.com/l...d/postgresql...

Книга доступна в электронном виде под лицензией CC-BY-NC.

>>> Страничка книги


Zhek@Ch

14 Июня 2011, 07:39 #25 Последнее редактирование: 14 Июня 2011, 07:40 от Zhek@Ch
[size="3"]Вышла вторая бета-версия СУБД PostgreSQL 9.1[/size]

Представлена вторая бета-версия СУБД PostgreSQL 9.1, в которой продолжена работа по выявлению и исправлению ошибок. Набор новшеств уже сформирован и до выпуска релиза меняться не будет. Релиз PostgreSQL 9.1 ожидается в течение лета.

Из ключевых улучшений PostgreSQL 9.1 можно отметить:

  • Поддержка синхронной репликации, при которой запасной сервер (standby) будет содержать гарантированно совпадающие с основным сервером данные - до получения подтверждения записи синхронизированных данных транзакция не будет считаться завершенной. Ранее репликация на запасной сервер осуществлялась только в асинхронном режиме. Синхронную репликацию можно применять для отдельных транзакций, что позволяет комбинировать оба механизма, используя по умолчанию быстрый асинхронный механизм для обычных операций и надежный синхронный для наиболее критичных изменений;
  • Поддержка указания COLLATION-свойств для отдельных столбцов, доменов, индексов и выражений, что позволяет задать для разных столбцов свои правила хранения, сортировки и сравнения с учетом указанной локали. Например: CREATE TABLE test1 ( a text COLLATE "de_DE", b text COLLATE "ru_RU"...). Ранее COLLATION могли быть указаны только на уровне БД в целом.
  • Возможность исключения отражения в WAL-логе активности по отдельным таблицам. Подобные таблицы отличаются повышенной производительностью, но могут привести к потере данных в случае краха СУБД. Для создания подобных таблиц при выполнении "CREATE TABLE" следуюет указать признак "UNLOGGED";
  • Реализация KNN GiST индексов (K-Nearest-Neighbor), добавляющая в GiST поддержку алгоритма оптимального поиска ближайших соседей, что может быть использовано для организации поиска географических объектов;
  • Добавлен уровень изоляции "настоящая сериализация", основанный на REPEATABLE READ (бывший SERIALIZABLE), но с перепроверкой условий запроса (predicate locking);
  • Возможность использования выражения "WITH" с операциями INSERT, UPDATE, DELETE, что позволяет осуществить рекурсивное обновление столбцов или обновление по сложному критерию, ранее требовавшему написания встраиваемой процедуры;
  • Интеграция поддержки SELinux для управления доступом на уровне объектов БД. Для привязки SELinux-меток к объектам или изменения меток следует использовать выражение "SECURITY LABEL". Пример: "SECURITY LABEL FOR selinux ON TABLE mytable IS 'system_u:object_r:sepgsql_table_t:s0';";
  • Поддержка расширений, позволяющих упростить формирование пакетов, расширяющих функциональность СУБД. Для создания расширения следует использовать новые команды "CREATE/ALTER/DROP EXTENSION". Выражения createlang и droplang, а также старые методы установки contrib-модулей, в связи с появлением расширений объявлены устаревшими;
  • Поддержка прикрепленных таблиц SQL/MED (Management of External Data), позволяющих через таблицу-враппер управлять при помощи SQL внешними данными, не хранимыми силами СУБД.
Со списком более мелких улучшений, добавленных в прошлых альфа-версиях, можно познакомиться в тексте прошлого анонса.


Zhek@Ch

05 Июля 2011, 22:00 #26 Последнее редактирование: 05 Июля 2011, 22:00 от Zhek@Ch
[size="3"]Компания EnterpriseDB представила релиз Postgres Plus Advanced Server 9.0 [/size]

Компания EnterpriseDB, осуществляющая коммерческую поддержку PostgreSQL и финансирующая большое число разработчиков данной свободной СУБД, анонсировала выход коммерческой СУБД Postgres Plus Advanced Server 9.0. Релиз коммерческого варианта PostgreSQL вышел спустя девять месяцев после выпуска PostgreSQL 9 и отличается лучшей совместимостью с продуктами Oracle, дополнительными оптимизациями производительности и средствами для использования в качестве промышленной СУБД. 32- и 64-разрядные сборки Postgres Plus Advanced Server 9.0 доступны для Linux, Windows и HP-UX. Стоимость продукта начинается от 4 тысяч долларов (предоставляется 60-дневный бесплатный пробный период).

Из добавленных в Postgres Plus Advanced Server 9.0 улучшений можно отметить:

  • Увеличение производительности подсистемы Parallel Data Loader, скорость параллельной загрузки дампов возросла до 800%;
  • Дополнительная совместимость с продуктами Oracle, включая поддержку приложений Oracle Pro*C;
  • Поддержка репликации из MS SQL Server в PostgreSQL (поддержка репликации из СУБД Oracle была реализована ранее);
  • Улучшение работы механизма кэширования Postgres Plus Infinite Cache. В частности, появилась возможность бесшовного добавления новых кэширующих узлов без сброса общего кэша;
  • Поддержка непрерывной потоковой репликации, режима "горячего резерва" (Hot Standby) и других функций, добавленных в ветке PostgreSQL 9.0.

Zhek@Ch

14 Июля 2011, 00:37 #27 Последнее редактирование: 14 Июля 2011, 00:38 от Zhek@Ch
[size="3"]Третья бета-версия СУБД PostgreSQL 9.1 [/size]

Представлена третья бета-версия СУБД PostgreSQL 9.1, в которой продолжена работа по выявлению и исправлению ошибок. Набор новшеств уже сформирован и до выпуска релиза меняться не будет. Обзор добавленных в PostgreSQL 9.1 улучшений можно просмотреть в тексте анонса прошлой тестовой версии. Релиз PostgreSQL 9.1 ожидается в конце лета или начале осени.


Zhek@Ch

26 Июля 2011, 00:41 #28 Последнее редактирование: 26 Июля 2011, 00:42 от Zhek@Ch
[size="3"]Первый релиз Postgres Enterprise Manager[/size]

Компания EnterpriseDB, осуществляющая коммерческую поддержку PostgreSQL и финансирующая большое число разработчиков данной свободной СУБД, представила новый продукт - Postgres Enterprise Manager. Продукт разработан для компаний, использующих большое число инсталляций PostgreSQL, и предназначен для удалённого мониторинга и управление крупными внедрениями этой СУБД. Цель, преследуемая разработчиками - упрощение администрирования множества баз данных, вне зависимости от того, на реальных серверах они работают или в виртуальных машинах.


Zhek@Ch

30 Июля 2011, 12:33 #29 Последнее редактирование: 30 Июля 2011, 12:33 от Zhek@Ch
[size="3"]PgFincore 1.0 - система низкоуровневого манипулирования кэшами PostgreSQL [/size]
 
Представлен первый стабильный релиз проекта PgFincore 1.0, в рамках которого подготовлен набор инструментов для анализа использования и управления дисковыми кэшами в PostgreSQL.

Из полезных функций PgFincore можно отметить возможность сохранения состояния дисковых кэшей с их последующим восстановлением, например, для ускорения "прогрева" сервера после перезагрузки или при поднятии запасного сервера на другой машине. Сохранив прокэшированные в памяти дисковые блоки таблиц и индексов перед перезагрузкой сервера и восстановив их после, можно повысить производительность начального этапа работы СУБД за счет минимизации ввода/вывода при выполнении штатных задач.


Zhek@Ch

04 Августа 2011, 01:14 #30 Последнее редактирование: 04 Августа 2011, 01:14 от Zhek@Ch
[size="3"]Компания Apple заменила MySQL на PostgreSQL в Mac OS X 10.7 Lion Server [/size]

Компания Apple официально удалила СУБД MySQL из поставки Mac OS X 10.7 Lion Server и включила вместо него PostgreSQL. Причины такого хода не сообщаются, но судя по всему подобный шаг связан с тем, что Apple понемногу уходит от использования GPL-кода в Mac OS X - Кроме MySQL весной из Mac OS X был исключен другой GPL-продукт - Samba.

По мнению вице-президента компании EnterpriseDB, курирующей разработку PostgreSQL, Apple всегда с опаской относилась к лицензии GPL. В случае с MySQL лицензионные вопросы усугубились еще и тем, что компания Oracle, которой принадлежит вся связанная с MySQL интеллектуальная собственность, инициировала судебную тяжбу против Google в связи с переработкой под другой лицензией технологий Java, свободно доступных под GPL. В случае Apple для управления MySQL используются дополнительные графические конфигураторы и надстройки, код которых не является открытым.


Zhek@Ch

28 Ноября 2011, 20:39 #31 Последнее редактирование: 28 Ноября 2011, 20:39 от Zhek@Ch
[size="3"]Первый релиз клиента для PGXN, сети распространения дополнений к PostgreSQL [/size]

Представлен PGXN Client 1.0, первый релиз клиентского приложения, предназначенного для автоматизации поиска, загрузки, сборки, установки и удаления дополнений для СУБД PostgreSQL, представленных в архиве PGXN (PostgreSQL Extension Network). Например, для установки определённого дополнения на сервер достаточно выполнить "pgxn install дополнение", а для загрузки дополнения только для одной БД - "pgxn load -d БД дополнение".

В рамках проекта PGXN развивается напоминающий CPAN архив для распространения дополнений к СУБД PostgreSQL, включая реализацию инфраструктуры для загрузки и распространения дополнений, подготовку централизованного индекса и API для доступа к мета-данным, создание системы поиска дополнений и набора утилит для тестирования дополнений. В настоящий момент в архиве представлено 57 дополнений и 105 релизов.

Среди полезных дополнений:

  • pg_log_userqueries/query_recorder (ведение лога SQL-запросов и активности пользователей)
  • pair (тип данных для эффективного хранения данных в формате ключ/значение)
  • omnipit (система управления WAL-файлами)
  • mysqlcompat (набор функций, специфичных для MySQL)
  • plparrot (написание встроенных процедур на Perl 6);
  • citext (текстовый тип без различия строчных и прописных букв);
  • multicorn (биндинг для написания Foreign Data Wrapper на языке Python). Готовые врапперы доступны для MySQL, Oracle, Redis, LDAP, Twitter и CouchDB;
  • pg-json (тип для хранения данных в формате JSON);
  • pgmemcache (API для обращения к memcached);
  • PL/R, PL/Proxy;
  • Системы репликации Golconde и Slony-I.